1#[link(name = "avcodec")] extern {}
4
5pub const _ERRNO_H: u32 = 1;
6pub const _FEATURES_H: u32 = 1;
7pub const _DEFAULT_SOURCE: u32 = 1;
8pub const __USE_ISOC11: u32 = 1;
9pub const __USE_ISOC99: u32 = 1;
10pub const __USE_ISOC95: u32 = 1;
11pub const __USE_POSIX_IMPLICITLY: u32 = 1;
12pub const _POSIX_SOURCE: u32 = 1;
13pub const _POSIX_C_SOURCE: u32 = 200809;
14pub const __USE_POSIX: u32 = 1;
15pub const __USE_POSIX2: u32 = 1;
16pub const __USE_POSIX199309: u32 = 1;
17pub const __USE_POSIX199506: u32 = 1;
18pub const __USE_XOPEN2K: u32 = 1;
19pub const __USE_XOPEN2K8: u32 = 1;
20pub const _ATFILE_SOURCE: u32 = 1;
21pub const __USE_MISC: u32 = 1;
22pub const __USE_ATFILE: u32 = 1;
23pub const __USE_FORTIFY_LEVEL: u32 = 0;
24pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
25pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
26pub const _STDC_PREDEF_H: u32 = 1;
27pub const __STDC_IEC_559__: u32 = 1;
28pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
29pub const __STDC_ISO_10646__: u32 = 201706;
30pub const __GNU_LIBRARY__: u32 = 6;
31pub const __GLIBC__: u32 = 2;
32pub const __GLIBC_MINOR__: u32 = 29;
33pub const _SYS_CDEFS_H: u32 = 1;
34pub const __glibc_c99_flexarr_available: u32 = 1;
35pub const __WORDSIZE: u32 = 64;
36pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
37pub const __SYSCALL_WORDSIZE: u32 = 64;
38pub const __HAVE_GENERIC_SELECTION: u32 = 1;
39pub const _BITS_ERRNO_H: u32 = 1;
40pub const EPERM: u32 = 1;
41pub const ENOENT: u32 = 2;
42pub const ESRCH: u32 = 3;
43pub const EINTR: u32 = 4;
44pub const EIO: u32 = 5;
45pub const ENXIO: u32 = 6;
46pub const E2BIG: u32 = 7;
47pub const ENOEXEC: u32 = 8;
48pub const EBADF: u32 = 9;
49pub const ECHILD: u32 = 10;
50pub const EAGAIN: u32 = 11;
51pub const ENOMEM: u32 = 12;
52pub const EACCES: u32 = 13;
53pub const EFAULT: u32 = 14;
54pub const ENOTBLK: u32 = 15;
55pub const EBUSY: u32 = 16;
56pub const EEXIST: u32 = 17;
57pub const EXDEV: u32 = 18;
58pub const ENODEV: u32 = 19;
59pub const ENOTDIR: u32 = 20;
60pub const EISDIR: u32 = 21;
61pub const EINVAL: u32 = 22;
62pub const ENFILE: u32 = 23;
63pub const EMFILE: u32 = 24;
64pub const ENOTTY: u32 = 25;
65pub const ETXTBSY: u32 = 26;
66pub const EFBIG: u32 = 27;
67pub const ENOSPC: u32 = 28;
68pub const ESPIPE: u32 = 29;
69pub const EROFS: u32 = 30;
70pub const EMLINK: u32 = 31;
71pub const EPIPE: u32 = 32;
72pub const EDOM: u32 = 33;
73pub const ERANGE: u32 = 34;
74pub const EDEADLK: u32 = 35;
75pub const ENAMETOOLONG: u32 = 36;
76pub const ENOLCK: u32 = 37;
77pub const ENOSYS: u32 = 38;
78pub const ENOTEMPTY: u32 = 39;
79pub const ELOOP: u32 = 40;
80pub const EWOULDBLOCK: u32 = 11;
81pub const ENOMSG: u32 = 42;
82pub const EIDRM: u32 = 43;
83pub const ECHRNG: u32 = 44;
84pub const EL2NSYNC: u32 = 45;
85pub const EL3HLT: u32 = 46;
86pub const EL3RST: u32 = 47;
87pub const ELNRNG: u32 = 48;
88pub const EUNATCH: u32 = 49;
89pub const ENOCSI: u32 = 50;
90pub const EL2HLT: u32 = 51;
91pub const EBADE: u32 = 52;
92pub const EBADR: u32 = 53;
93pub const EXFULL: u32 = 54;
94pub const ENOANO: u32 = 55;
95pub const EBADRQC: u32 = 56;
96pub const EBADSLT: u32 = 57;
97pub const EDEADLOCK: u32 = 35;
98pub const EBFONT: u32 = 59;
99pub const ENOSTR: u32 = 60;
100pub const ENODATA: u32 = 61;
101pub const ETIME: u32 = 62;
102pub const ENOSR: u32 = 63;
103pub const ENONET: u32 = 64;
104pub const ENOPKG: u32 = 65;
105pub const EREMOTE: u32 = 66;
106pub const ENOLINK: u32 = 67;
107pub const EADV: u32 = 68;
108pub const ESRMNT: u32 = 69;
109pub const ECOMM: u32 = 70;
110pub const EPROTO: u32 = 71;
111pub const EMULTIHOP: u32 = 72;
112pub const EDOTDOT: u32 = 73;
113pub const EBADMSG: u32 = 74;
114pub const EOVERFLOW: u32 = 75;
115pub const ENOTUNIQ: u32 = 76;
116pub const EBADFD: u32 = 77;
117pub const EREMCHG: u32 = 78;
118pub const ELIBACC: u32 = 79;
119pub const ELIBBAD: u32 = 80;
120pub const ELIBSCN: u32 = 81;
121pub const ELIBMAX: u32 = 82;
122pub const ELIBEXEC: u32 = 83;
123pub const EILSEQ: u32 = 84;
124pub const ERESTART: u32 = 85;
125pub const ESTRPIPE: u32 = 86;
126pub const EUSERS: u32 = 87;
127pub const ENOTSOCK: u32 = 88;
128pub const EDESTADDRREQ: u32 = 89;
129pub const EMSGSIZE: u32 = 90;
130pub const EPROTOTYPE: u32 = 91;
131pub const ENOPROTOOPT: u32 = 92;
132pub const EPROTONOSUPPORT: u32 = 93;
133pub const ESOCKTNOSUPPORT: u32 = 94;
134pub const EOPNOTSUPP: u32 = 95;
135pub const EPFNOSUPPORT: u32 = 96;
136pub const EAFNOSUPPORT: u32 = 97;
137pub const EADDRINUSE: u32 = 98;
138pub const EADDRNOTAVAIL: u32 = 99;
139pub const ENETDOWN: u32 = 100;
140pub const ENETUNREACH: u32 = 101;
141pub const ENETRESET: u32 = 102;
142pub const ECONNABORTED: u32 = 103;
143pub const ECONNRESET: u32 = 104;
144pub const ENOBUFS: u32 = 105;
145pub const EISCONN: u32 = 106;
146pub const ENOTCONN: u32 = 107;
147pub const ESHUTDOWN: u32 = 108;
148pub const ETOOMANYREFS: u32 = 109;
149pub const ETIMEDOUT: u32 = 110;
150pub const ECONNREFUSED: u32 = 111;
151pub const EHOSTDOWN: u32 = 112;
152pub const EHOSTUNREACH: u32 = 113;
153pub const EALREADY: u32 = 114;
154pub const EINPROGRESS: u32 = 115;
155pub const ESTALE: u32 = 116;
156pub const EUCLEAN: u32 = 117;
157pub const ENOTNAM: u32 = 118;
158pub const ENAVAIL: u32 = 119;
159pub const EISNAM: u32 = 120;
160pub const EREMOTEIO: u32 = 121;
161pub const EDQUOT: u32 = 122;
162pub const ENOMEDIUM: u32 = 123;
163pub const EMEDIUMTYPE: u32 = 124;
164pub const ECANCELED: u32 = 125;
165pub const ENOKEY: u32 = 126;
166pub const EKEYEXPIRED: u32 = 127;
167pub const EKEYREVOKED: u32 = 128;
168pub const EKEYREJECTED: u32 = 129;
169pub const EOWNERDEAD: u32 = 130;
170pub const ENOTRECOVERABLE: u32 = 131;
171pub const ERFKILL: u32 = 132;
172pub const EHWPOISON: u32 = 133;
173pub const ENOTSUP: u32 = 95;
174pub const _STDINT_H: u32 = 1;
175pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
176pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
177pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
178pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
179pub const _BITS_TYPES_H: u32 = 1;
180pub const __TIMESIZE: u32 = 64;
181pub const _BITS_TYPESIZES_H: u32 = 1;
182pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
183pub const __INO_T_MATCHES_INO64_T: u32 = 1;
184pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
185pub const __FD_SETSIZE: u32 = 1024;
186pub const _BITS_TIME64_H: u32 = 1;
187pub const _BITS_WCHAR_H: u32 = 1;
188pub const _BITS_STDINT_INTN_H: u32 = 1;
189pub const _BITS_STDINT_UINTN_H: u32 = 1;
190pub const INT8_MIN: i32 = -128;
191pub const INT16_MIN: i32 = -32768;
192pub const INT32_MIN: i32 = -2147483648;
193pub const INT8_MAX: u32 = 127;
194pub const INT16_MAX: u32 = 32767;
195pub const INT32_MAX: u32 = 2147483647;
196pub const UINT8_MAX: u32 = 255;
197pub const UINT16_MAX: u32 = 65535;
198pub const UINT32_MAX: u32 = 4294967295;
199pub const INT_LEAST8_MIN: i32 = -128;
200pub const INT_LEAST16_MIN: i32 = -32768;
201pub const INT_LEAST32_MIN: i32 = -2147483648;
202pub const INT_LEAST8_MAX: u32 = 127;
203pub const INT_LEAST16_MAX: u32 = 32767;
204pub const INT_LEAST32_MAX: u32 = 2147483647;
205pub const UINT_LEAST8_MAX: u32 = 255;
206pub const UINT_LEAST16_MAX: u32 = 65535;
207pub const UINT_LEAST32_MAX: u32 = 4294967295;
208pub const INT_FAST8_MIN: i32 = -128;
209pub const INT_FAST16_MIN: i64 = -9223372036854775808;
210pub const INT_FAST32_MIN: i64 = -9223372036854775808;
211pub const INT_FAST8_MAX: u32 = 127;
212pub const INT_FAST16_MAX: u64 = 9223372036854775807;
213pub const INT_FAST32_MAX: u64 = 9223372036854775807;
214pub const UINT_FAST8_MAX: u32 = 255;
215pub const UINT_FAST16_MAX: i32 = -1;
216pub const UINT_FAST32_MAX: i32 = -1;
217pub const INTPTR_MIN: i64 = -9223372036854775808;
218pub const INTPTR_MAX: u64 = 9223372036854775807;
219pub const UINTPTR_MAX: i32 = -1;
220pub const PTRDIFF_MIN: i64 = -9223372036854775808;
221pub const PTRDIFF_MAX: u64 = 9223372036854775807;
222pub const SIG_ATOMIC_MIN: i32 = -2147483648;
223pub const SIG_ATOMIC_MAX: u32 = 2147483647;
224pub const SIZE_MAX: i32 = -1;
225pub const WINT_MIN: u32 = 0;
226pub const WINT_MAX: u32 = 4294967295;
227pub const FF_LAMBDA_SHIFT: u32 = 7;
228pub const FF_LAMBDA_SCALE: u32 = 128;
229pub const FF_QP2LAMBDA: u32 = 118;
230pub const FF_LAMBDA_MAX: u32 = 32767;
231pub const FF_QUALITY_SCALE: u32 = 128;
232pub const AV_TIME_BASE: u32 = 1000000;
233pub const _INTTYPES_H: u32 = 1;
234pub const ____gwchar_t_defined: u32 = 1;
235pub const __PRI64_PREFIX: &'static [u8; 2usize] = b"l\0";
236pub const __PRIPTR_PREFIX: &'static [u8; 2usize] = b"l\0";
237pub const PRId8: &'static [u8; 2usize] = b"d\0";
238pub const PRId16: &'static [u8; 2usize] = b"d\0";
239pub const PRId32: &'static [u8; 2usize] = b"d\0";
240pub const PRId64: &'static [u8; 3usize] = b"ld\0";
241pub const PRIdLEAST8: &'static [u8; 2usize] = b"d\0";
242pub const PRIdLEAST16: &'static [u8; 2usize] = b"d\0";
243pub const PRIdLEAST32: &'static [u8; 2usize] = b"d\0";
244pub const PRIdLEAST64: &'static [u8; 3usize] = b"ld\0";
245pub const PRIdFAST8: &'static [u8; 2usize] = b"d\0";
246pub const PRIdFAST16: &'static [u8; 3usize] = b"ld\0";
247pub const PRIdFAST32: &'static [u8; 3usize] = b"ld\0";
248pub const PRIdFAST64: &'static [u8; 3usize] = b"ld\0";
249pub const PRIi8: &'static [u8; 2usize] = b"i\0";
250pub const PRIi16: &'static [u8; 2usize] = b"i\0";
251pub const PRIi32: &'static [u8; 2usize] = b"i\0";
252pub const PRIi64: &'static [u8; 3usize] = b"li\0";
253pub const PRIiLEAST8: &'static [u8; 2usize] = b"i\0";
254pub const PRIiLEAST16: &'static [u8; 2usize] = b"i\0";
255pub const PRIiLEAST32: &'static [u8; 2usize] = b"i\0";
256pub const PRIiLEAST64: &'static [u8; 3usize] = b"li\0";
257pub const PRIiFAST8: &'static [u8; 2usize] = b"i\0";
258pub const PRIiFAST16: &'static [u8; 3usize] = b"li\0";
259pub const PRIiFAST32: &'static [u8; 3usize] = b"li\0";
260pub const PRIiFAST64: &'static [u8; 3usize] = b"li\0";
261pub const PRIo8: &'static [u8; 2usize] = b"o\0";
262pub const PRIo16: &'static [u8; 2usize] = b"o\0";
263pub const PRIo32: &'static [u8; 2usize] = b"o\0";
264pub const PRIo64: &'static [u8; 3usize] = b"lo\0";
265pub const PRIoLEAST8: &'static [u8; 2usize] = b"o\0";
266pub const PRIoLEAST16: &'static [u8; 2usize] = b"o\0";
267pub const PRIoLEAST32: &'static [u8; 2usize] = b"o\0";
268pub const PRIoLEAST64: &'static [u8; 3usize] = b"lo\0";
269pub const PRIoFAST8: &'static [u8; 2usize] = b"o\0";
270pub const PRIoFAST16: &'static [u8; 3usize] = b"lo\0";
271pub const PRIoFAST32: &'static [u8; 3usize] = b"lo\0";
272pub const PRIoFAST64: &'static [u8; 3usize] = b"lo\0";
273pub const PRIu8: &'static [u8; 2usize] = b"u\0";
274pub const PRIu16: &'static [u8; 2usize] = b"u\0";
275pub const PRIu32: &'static [u8; 2usize] = b"u\0";
276pub const PRIu64: &'static [u8; 3usize] = b"lu\0";
277pub const PRIuLEAST8: &'static [u8; 2usize] = b"u\0";
278pub const PRIuLEAST16: &'static [u8; 2usize] = b"u\0";
279pub const PRIuLEAST32: &'static [u8; 2usize] = b"u\0";
280pub const PRIuLEAST64: &'static [u8; 3usize] = b"lu\0";
281pub const PRIuFAST8: &'static [u8; 2usize] = b"u\0";
282pub const PRIuFAST16: &'static [u8; 3usize] = b"lu\0";
283pub const PRIuFAST32: &'static [u8; 3usize] = b"lu\0";
284pub const PRIuFAST64: &'static [u8; 3usize] = b"lu\0";
285pub const PRIx8: &'static [u8; 2usize] = b"x\0";
286pub const PRIx16: &'static [u8; 2usize] = b"x\0";
287pub const PRIx32: &'static [u8; 2usize] = b"x\0";
288pub const PRIx64: &'static [u8; 3usize] = b"lx\0";
289pub const PRIxLEAST8: &'static [u8; 2usize] = b"x\0";
290pub const PRIxLEAST16: &'static [u8; 2usize] = b"x\0";
291pub const PRIxLEAST32: &'static [u8; 2usize] = b"x\0";
292pub const PRIxLEAST64: &'static [u8; 3usize] = b"lx\0";
293pub const PRIxFAST8: &'static [u8; 2usize] = b"x\0";
294pub const PRIxFAST16: &'static [u8; 3usize] = b"lx\0";
295pub const PRIxFAST32: &'static [u8; 3usize] = b"lx\0";
296pub const PRIxFAST64: &'static [u8; 3usize] = b"lx\0";
297pub const PRIX8: &'static [u8; 2usize] = b"X\0";
298pub const PRIX16: &'static [u8; 2usize] = b"X\0";
299pub const PRIX32: &'static [u8; 2usize] = b"X\0";
300pub const PRIX64: &'static [u8; 3usize] = b"lX\0";
301pub const PRIXLEAST8: &'static [u8; 2usize] = b"X\0";
302pub const PRIXLEAST16: &'static [u8; 2usize] = b"X\0";
303pub const PRIXLEAST32: &'static [u8; 2usize] = b"X\0";
304pub const PRIXLEAST64: &'static [u8; 3usize] = b"lX\0";
305pub const PRIXFAST8: &'static [u8; 2usize] = b"X\0";
306pub const PRIXFAST16: &'static [u8; 3usize] = b"lX\0";
307pub const PRIXFAST32: &'static [u8; 3usize] = b"lX\0";
308pub const PRIXFAST64: &'static [u8; 3usize] = b"lX\0";
309pub const PRIdMAX: &'static [u8; 3usize] = b"ld\0";
310pub const PRIiMAX: &'static [u8; 3usize] = b"li\0";
311pub const PRIoMAX: &'static [u8; 3usize] = b"lo\0";
312pub const PRIuMAX: &'static [u8; 3usize] = b"lu\0";
313pub const PRIxMAX: &'static [u8; 3usize] = b"lx\0";
314pub const PRIXMAX: &'static [u8; 3usize] = b"lX\0";
315pub const PRIdPTR: &'static [u8; 3usize] = b"ld\0";
316pub const PRIiPTR: &'static [u8; 3usize] = b"li\0";
317pub const PRIoPTR: &'static [u8; 3usize] = b"lo\0";
318pub const PRIuPTR: &'static [u8; 3usize] = b"lu\0";
319pub const PRIxPTR: &'static [u8; 3usize] = b"lx\0";
320pub const PRIXPTR: &'static [u8; 3usize] = b"lX\0";
321pub const SCNd8: &'static [u8; 4usize] = b"hhd\0";
322pub const SCNd16: &'static [u8; 3usize] = b"hd\0";
323pub const SCNd32: &'static [u8; 2usize] = b"d\0";
324pub const SCNd64: &'static [u8; 3usize] = b"ld\0";
325pub const SCNdLEAST8: &'static [u8; 4usize] = b"hhd\0";
326pub const SCNdLEAST16: &'static [u8; 3usize] = b"hd\0";
327pub const SCNdLEAST32: &'static [u8; 2usize] = b"d\0";
328pub const SCNdLEAST64: &'static [u8; 3usize] = b"ld\0";
329pub const SCNdFAST8: &'static [u8; 4usize] = b"hhd\0";
330pub const SCNdFAST16: &'static [u8; 3usize] = b"ld\0";
331pub const SCNdFAST32: &'static [u8; 3usize] = b"ld\0";
332pub const SCNdFAST64: &'static [u8; 3usize] = b"ld\0";
333pub const SCNi8: &'static [u8; 4usize] = b"hhi\0";
334pub const SCNi16: &'static [u8; 3usize] = b"hi\0";
335pub const SCNi32: &'static [u8; 2usize] = b"i\0";
336pub const SCNi64: &'static [u8; 3usize] = b"li\0";
337pub const SCNiLEAST8: &'static [u8; 4usize] = b"hhi\0";
338pub const SCNiLEAST16: &'static [u8; 3usize] = b"hi\0";
339pub const SCNiLEAST32: &'static [u8; 2usize] = b"i\0";
340pub const SCNiLEAST64: &'static [u8; 3usize] = b"li\0";
341pub const SCNiFAST8: &'static [u8; 4usize] = b"hhi\0";
342pub const SCNiFAST16: &'static [u8; 3usize] = b"li\0";
343pub const SCNiFAST32: &'static [u8; 3usize] = b"li\0";
344pub const SCNiFAST64: &'static [u8; 3usize] = b"li\0";
345pub const SCNu8: &'static [u8; 4usize] = b"hhu\0";
346pub const SCNu16: &'static [u8; 3usize] = b"hu\0";
347pub const SCNu32: &'static [u8; 2usize] = b"u\0";
348pub const SCNu64: &'static [u8; 3usize] = b"lu\0";
349pub const SCNuLEAST8: &'static [u8; 4usize] = b"hhu\0";
350pub const SCNuLEAST16: &'static [u8; 3usize] = b"hu\0";
351pub const SCNuLEAST32: &'static [u8; 2usize] = b"u\0";
352pub const SCNuLEAST64: &'static [u8; 3usize] = b"lu\0";
353pub const SCNuFAST8: &'static [u8; 4usize] = b"hhu\0";
354pub const SCNuFAST16: &'static [u8; 3usize] = b"lu\0";
355pub const SCNuFAST32: &'static [u8; 3usize] = b"lu\0";
356pub const SCNuFAST64: &'static [u8; 3usize] = b"lu\0";
357pub const SCNo8: &'static [u8; 4usize] = b"hho\0";
358pub const SCNo16: &'static [u8; 3usize] = b"ho\0";
359pub const SCNo32: &'static [u8; 2usize] = b"o\0";
360pub const SCNo64: &'static [u8; 3usize] = b"lo\0";
361pub const SCNoLEAST8: &'static [u8; 4usize] = b"hho\0";
362pub const SCNoLEAST16: &'static [u8; 3usize] = b"ho\0";
363pub const SCNoLEAST32: &'static [u8; 2usize] = b"o\0";
364pub const SCNoLEAST64: &'static [u8; 3usize] = b"lo\0";
365pub const SCNoFAST8: &'static [u8; 4usize] = b"hho\0";
366pub const SCNoFAST16: &'static [u8; 3usize] = b"lo\0";
367pub const SCNoFAST32: &'static [u8; 3usize] = b"lo\0";
368pub const SCNoFAST64: &'static [u8; 3usize] = b"lo\0";
369pub const SCNx8: &'static [u8; 4usize] = b"hhx\0";
370pub const SCNx16: &'static [u8; 3usize] = b"hx\0";
371pub const SCNx32: &'static [u8; 2usize] = b"x\0";
372pub const SCNx64: &'static [u8; 3usize] = b"lx\0";
373pub const SCNxLEAST8: &'static [u8; 4usize] = b"hhx\0";
374pub const SCNxLEAST16: &'static [u8; 3usize] = b"hx\0";
375pub const SCNxLEAST32: &'static [u8; 2usize] = b"x\0";
376pub const SCNxLEAST64: &'static [u8; 3usize] = b"lx\0";
377pub const SCNxFAST8: &'static [u8; 4usize] = b"hhx\0";
378pub const SCNxFAST16: &'static [u8; 3usize] = b"lx\0";
379pub const SCNxFAST32: &'static [u8; 3usize] = b"lx\0";
380pub const SCNxFAST64: &'static [u8; 3usize] = b"lx\0";
381pub const SCNdMAX: &'static [u8; 3usize] = b"ld\0";
382pub const SCNiMAX: &'static [u8; 3usize] = b"li\0";
383pub const SCNoMAX: &'static [u8; 3usize] = b"lo\0";
384pub const SCNuMAX: &'static [u8; 3usize] = b"lu\0";
385pub const SCNxMAX: &'static [u8; 3usize] = b"lx\0";
386pub const SCNdPTR: &'static [u8; 3usize] = b"ld\0";
387pub const SCNiPTR: &'static [u8; 3usize] = b"li\0";
388pub const SCNoPTR: &'static [u8; 3usize] = b"lo\0";
389pub const SCNuPTR: &'static [u8; 3usize] = b"lu\0";
390pub const SCNxPTR: &'static [u8; 3usize] = b"lx\0";
391pub const _LIBC_LIMITS_H_: u32 = 1;
392pub const MB_LEN_MAX: u32 = 16;
393pub const _BITS_POSIX1_LIM_H: u32 = 1;
394pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
395pub const _POSIX_AIO_MAX: u32 = 1;
396pub const _POSIX_ARG_MAX: u32 = 4096;
397pub const _POSIX_CHILD_MAX: u32 = 25;
398pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
399pub const _POSIX_HOST_NAME_MAX: u32 = 255;
400pub const _POSIX_LINK_MAX: u32 = 8;
401pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
402pub const _POSIX_MAX_CANON: u32 = 255;
403pub const _POSIX_MAX_INPUT: u32 = 255;
404pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
405pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
406pub const _POSIX_NAME_MAX: u32 = 14;
407pub const _POSIX_NGROUPS_MAX: u32 = 8;
408pub const _POSIX_OPEN_MAX: u32 = 20;
409pub const _POSIX_PATH_MAX: u32 = 256;
410pub const _POSIX_PIPE_BUF: u32 = 512;
411pub const _POSIX_RE_DUP_MAX: u32 = 255;
412pub const _POSIX_RTSIG_MAX: u32 = 8;
413pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
414pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
415pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
416pub const _POSIX_SSIZE_MAX: u32 = 32767;
417pub const _POSIX_STREAM_MAX: u32 = 8;
418pub const _POSIX_SYMLINK_MAX: u32 = 255;
419pub const _POSIX_SYMLOOP_MAX: u32 = 8;
420pub const _POSIX_TIMER_MAX: u32 = 32;
421pub const _POSIX_TTY_NAME_MAX: u32 = 9;
422pub const _POSIX_TZNAME_MAX: u32 = 6;
423pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
424pub const NR_OPEN: u32 = 1024;
425pub const NGROUPS_MAX: u32 = 65536;
426pub const ARG_MAX: u32 = 131072;
427pub const LINK_MAX: u32 = 127;
428pub const MAX_CANON: u32 = 255;
429pub const MAX_INPUT: u32 = 255;
430pub const NAME_MAX: u32 = 255;
431pub const PATH_MAX: u32 = 4096;
432pub const PIPE_BUF: u32 = 4096;
433pub const XATTR_NAME_MAX: u32 = 255;
434pub const XATTR_SIZE_MAX: u32 = 65536;
435pub const XATTR_LIST_MAX: u32 = 65536;
436pub const RTSIG_MAX: u32 = 32;
437pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
438pub const PTHREAD_KEYS_MAX: u32 = 1024;
439pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
440pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
441pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
442pub const AIO_PRIO_DELTA_MAX: u32 = 20;
443pub const PTHREAD_STACK_MIN: u32 = 16384;
444pub const DELAYTIMER_MAX: u32 = 2147483647;
445pub const TTY_NAME_MAX: u32 = 32;
446pub const LOGIN_NAME_MAX: u32 = 256;
447pub const HOST_NAME_MAX: u32 = 64;
448pub const MQ_PRIO_MAX: u32 = 32768;
449pub const SEM_VALUE_MAX: u32 = 2147483647;
450pub const _BITS_POSIX2_LIM_H: u32 = 1;
451pub const _POSIX2_BC_BASE_MAX: u32 = 99;
452pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
453pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
454pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
455pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
456pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
457pub const _POSIX2_LINE_MAX: u32 = 2048;
458pub const _POSIX2_RE_DUP_MAX: u32 = 255;
459pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
460pub const BC_BASE_MAX: u32 = 99;
461pub const BC_DIM_MAX: u32 = 2048;
462pub const BC_SCALE_MAX: u32 = 99;
463pub const BC_STRING_MAX: u32 = 1000;
464pub const COLL_WEIGHTS_MAX: u32 = 255;
465pub const EXPR_NEST_MAX: u32 = 32;
466pub const LINE_MAX: u32 = 2048;
467pub const CHARCLASS_NAME_MAX: u32 = 2048;
468pub const RE_DUP_MAX: u32 = 32767;
469pub const _MATH_H: u32 = 1;
470pub const _BITS_LIBM_SIMD_DECL_STUBS_H: u32 = 1;
471pub const __HAVE_FLOAT128: u32 = 0;
472pub const __HAVE_DISTINCT_FLOAT128: u32 = 0;
473pub const __HAVE_FLOAT64X: u32 = 1;
474pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1;
475pub const __HAVE_FLOAT16: u32 = 0;
476pub const __HAVE_FLOAT32: u32 = 1;
477pub const __HAVE_FLOAT64: u32 = 1;
478pub const __HAVE_FLOAT32X: u32 = 1;
479pub const __HAVE_FLOAT128X: u32 = 0;
480pub const __HAVE_DISTINCT_FLOAT16: u32 = 0;
481pub const __HAVE_DISTINCT_FLOAT32: u32 = 0;
482pub const __HAVE_DISTINCT_FLOAT64: u32 = 0;
483pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0;
484pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0;
485pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0;
486pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0;
487pub const __FP_LOGB0_IS_MIN: u32 = 1;
488pub const __FP_LOGBNAN_IS_MIN: u32 = 1;
489pub const FP_ILOGB0: i32 = -2147483648;
490pub const FP_ILOGBNAN: i32 = -2147483648;
491pub const __MATH_DECLARING_DOUBLE: u32 = 1;
492pub const __MATH_DECLARING_FLOATN: u32 = 0;
493pub const __MATH_DECLARE_LDOUBLE: u32 = 1;
494pub const FP_NAN: u32 = 0;
495pub const FP_INFINITE: u32 = 1;
496pub const FP_ZERO: u32 = 2;
497pub const FP_SUBNORMAL: u32 = 3;
498pub const FP_NORMAL: u32 = 4;
499pub const MATH_ERRNO: u32 = 1;
500pub const MATH_ERREXCEPT: u32 = 2;
501pub const math_errhandling: u32 = 3;
502pub const M_E: f64 = 2.718281828459045;
503pub const M_LOG2E: f64 = 1.4426950408889634;
504pub const M_LOG10E: f64 = 0.4342944819032518;
505pub const M_LN2: f64 = 0.6931471805599453;
506pub const M_LN10: f64 = 2.302585092994046;
507pub const M_PI: f64 = 3.141592653589793;
508pub const M_PI_2: f64 = 1.5707963267948966;
509pub const M_PI_4: f64 = 0.7853981633974483;
510pub const M_1_PI: f64 = 0.3183098861837907;
511pub const M_2_PI: f64 = 0.6366197723675814;
512pub const M_2_SQRTPI: f64 = 1.1283791670955126;
513pub const M_SQRT2: f64 = 1.4142135623730951;
514pub const M_SQRT1_2: f64 = 0.7071067811865476;
515pub const _STDIO_H: u32 = 1;
516pub const __GNUC_VA_LIST: u32 = 1;
517pub const _____fpos_t_defined: u32 = 1;
518pub const ____mbstate_t_defined: u32 = 1;
519pub const _____fpos64_t_defined: u32 = 1;
520pub const ____FILE_defined: u32 = 1;
521pub const __FILE_defined: u32 = 1;
522pub const __struct_FILE_defined: u32 = 1;
523pub const _IO_EOF_SEEN: u32 = 16;
524pub const _IO_ERR_SEEN: u32 = 32;
525pub const _IO_USER_LOCK: u32 = 32768;
526pub const _IOFBF: u32 = 0;
527pub const _IOLBF: u32 = 1;
528pub const _IONBF: u32 = 2;
529pub const BUFSIZ: u32 = 8192;
530pub const EOF: i32 = -1;
531pub const SEEK_SET: u32 = 0;
532pub const SEEK_CUR: u32 = 1;
533pub const SEEK_END: u32 = 2;
534pub const P_tmpdir: &'static [u8; 5usize] = b"/tmp\0";
535pub const _BITS_STDIO_LIM_H: u32 = 1;
536pub const L_tmpnam: u32 = 20;
537pub const TMP_MAX: u32 = 238328;
538pub const FILENAME_MAX: u32 = 4096;
539pub const L_ctermid: u32 = 9;
540pub const FOPEN_MAX: u32 = 16;
541pub const _STDLIB_H: u32 = 1;
542pub const WNOHANG: u32 = 1;
543pub const WUNTRACED: u32 = 2;
544pub const WSTOPPED: u32 = 2;
545pub const WEXITED: u32 = 4;
546pub const WCONTINUED: u32 = 8;
547pub const WNOWAIT: u32 = 16777216;
548pub const __WNOTHREAD: u32 = 536870912;
549pub const __WALL: u32 = 1073741824;
550pub const __WCLONE: u32 = 2147483648;
551pub const __W_CONTINUED: u32 = 65535;
552pub const __WCOREFLAG: u32 = 128;
553pub const __ldiv_t_defined: u32 = 1;
554pub const __lldiv_t_defined: u32 = 1;
555pub const RAND_MAX: u32 = 2147483647;
556pub const EXIT_FAILURE: u32 = 1;
557pub const EXIT_SUCCESS: u32 = 0;
558pub const _SYS_TYPES_H: u32 = 1;
559pub const __clock_t_defined: u32 = 1;
560pub const __clockid_t_defined: u32 = 1;
561pub const __time_t_defined: u32 = 1;
562pub const __timer_t_defined: u32 = 1;
563pub const __BIT_TYPES_DEFINED__: u32 = 1;
564pub const _ENDIAN_H: u32 = 1;
565pub const __LITTLE_ENDIAN: u32 = 1234;
566pub const __BIG_ENDIAN: u32 = 4321;
567pub const __PDP_ENDIAN: u32 = 3412;
568pub const __BYTE_ORDER: u32 = 1234;
569pub const __FLOAT_WORD_ORDER: u32 = 1234;
570pub const LITTLE_ENDIAN: u32 = 1234;
571pub const BIG_ENDIAN: u32 = 4321;
572pub const PDP_ENDIAN: u32 = 3412;
573pub const BYTE_ORDER: u32 = 1234;
574pub const _BITS_BYTESWAP_H: u32 = 1;
575pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
576pub const _SYS_SELECT_H: u32 = 1;
577pub const __FD_ZERO_STOS: &'static [u8; 6usize] = b"stosq\0";
578pub const __sigset_t_defined: u32 = 1;
579pub const __timeval_defined: u32 = 1;
580pub const _STRUCT_TIMESPEC: u32 = 1;
581pub const FD_SETSIZE: u32 = 1024;
582pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
583pub const _THREAD_SHARED_TYPES_H: u32 = 1;
584pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
585pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
586pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
587pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
588pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
589pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
590pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
591pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
592pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
593pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
594pub const __PTHREAD_MUTEX_LOCK_ELISION: u32 = 1;
595pub const __PTHREAD_MUTEX_NUSERS_AFTER_KIND: u32 = 0;
596pub const __PTHREAD_MUTEX_USE_UNION: u32 = 0;
597pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED: u32 = 1;
598pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
599pub const __have_pthread_attr_t: u32 = 1;
600pub const _ALLOCA_H: u32 = 1;
601pub const _STRING_H: u32 = 1;
602pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
603pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
604pub const _STRINGS_H: u32 = 1;
605pub const LIBAVUTIL_VERSION_MAJOR: u32 = 56;
606pub const LIBAVUTIL_VERSION_MINOR: u32 = 22;
607pub const LIBAVUTIL_VERSION_MICRO: u32 = 100;
608pub const AV_HAVE_BIGENDIAN: u32 = 0;
609pub const AV_HAVE_FAST_UNALIGNED: u32 = 1;
610pub const AVERROR_EXPERIMENTAL: i32 = -733130664;
611pub const AVERROR_INPUT_CHANGED: i32 = -1668179713;
612pub const AVERROR_OUTPUT_CHANGED: i32 = -1668179714;
613pub const AV_ERROR_MAX_STRING_SIZE: u32 = 64;
614pub const M_LOG2_10: f64 = 3.321928094887362;
615pub const M_PHI: f64 = 1.618033988749895;
616pub const AV_LOG_QUIET: i32 = -8;
617pub const AV_LOG_PANIC: u32 = 0;
618pub const AV_LOG_FATAL: u32 = 8;
619pub const AV_LOG_ERROR: u32 = 16;
620pub const AV_LOG_WARNING: u32 = 24;
621pub const AV_LOG_INFO: u32 = 32;
622pub const AV_LOG_VERBOSE: u32 = 40;
623pub const AV_LOG_DEBUG: u32 = 48;
624pub const AV_LOG_TRACE: u32 = 56;
625pub const AV_LOG_MAX_OFFSET: u32 = 64;
626pub const AV_LOG_SKIP_REPEATED: u32 = 1;
627pub const AV_LOG_PRINT_LEVEL: u32 = 2;
628pub const AVPALETTE_SIZE: u32 = 1024;
629pub const AVPALETTE_COUNT: u32 = 256;
630pub const AV_FOURCC_MAX_STRING_SIZE: u32 = 32;
631pub const AV_BUFFER_FLAG_READONLY: u32 = 1;
632pub const AV_CPU_FLAG_FORCE: u32 = 2147483648;
633pub const AV_CPU_FLAG_MMX: u32 = 1;
634pub const AV_CPU_FLAG_MMXEXT: u32 = 2;
635pub const AV_CPU_FLAG_MMX2: u32 = 2;
636pub const AV_CPU_FLAG_3DNOW: u32 = 4;
637pub const AV_CPU_FLAG_SSE: u32 = 8;
638pub const AV_CPU_FLAG_SSE2: u32 = 16;
639pub const AV_CPU_FLAG_SSE2SLOW: u32 = 1073741824;
640pub const AV_CPU_FLAG_3DNOWEXT: u32 = 32;
641pub const AV_CPU_FLAG_SSE3: u32 = 64;
642pub const AV_CPU_FLAG_SSE3SLOW: u32 = 536870912;
643pub const AV_CPU_FLAG_SSSE3: u32 = 128;
644pub const AV_CPU_FLAG_SSSE3SLOW: u32 = 67108864;
645pub const AV_CPU_FLAG_ATOM: u32 = 268435456;
646pub const AV_CPU_FLAG_SSE4: u32 = 256;
647pub const AV_CPU_FLAG_SSE42: u32 = 512;
648pub const AV_CPU_FLAG_AESNI: u32 = 524288;
649pub const AV_CPU_FLAG_AVX: u32 = 16384;
650pub const AV_CPU_FLAG_AVXSLOW: u32 = 134217728;
651pub const AV_CPU_FLAG_XOP: u32 = 1024;
652pub const AV_CPU_FLAG_FMA4: u32 = 2048;
653pub const AV_CPU_FLAG_CMOV: u32 = 4096;
654pub const AV_CPU_FLAG_AVX2: u32 = 32768;
655pub const AV_CPU_FLAG_FMA3: u32 = 65536;
656pub const AV_CPU_FLAG_BMI1: u32 = 131072;
657pub const AV_CPU_FLAG_BMI2: u32 = 262144;
658pub const AV_CPU_FLAG_AVX512: u32 = 1048576;
659pub const AV_CPU_FLAG_ALTIVEC: u32 = 1;
660pub const AV_CPU_FLAG_VSX: u32 = 2;
661pub const AV_CPU_FLAG_POWER8: u32 = 4;
662pub const AV_CPU_FLAG_ARMV5TE: u32 = 1;
663pub const AV_CPU_FLAG_ARMV6: u32 = 2;
664pub const AV_CPU_FLAG_ARMV6T2: u32 = 4;
665pub const AV_CPU_FLAG_VFP: u32 = 8;
666pub const AV_CPU_FLAG_VFPV3: u32 = 16;
667pub const AV_CPU_FLAG_NEON: u32 = 32;
668pub const AV_CPU_FLAG_ARMV8: u32 = 64;
669pub const AV_CPU_FLAG_VFP_VM: u32 = 128;
670pub const AV_CPU_FLAG_SETEND: u32 = 65536;
671pub const AV_CH_FRONT_LEFT: u32 = 1;
672pub const AV_CH_FRONT_RIGHT: u32 = 2;
673pub const AV_CH_FRONT_CENTER: u32 = 4;
674pub const AV_CH_LOW_FREQUENCY: u32 = 8;
675pub const AV_CH_BACK_LEFT: u32 = 16;
676pub const AV_CH_BACK_RIGHT: u32 = 32;
677pub const AV_CH_FRONT_LEFT_OF_CENTER: u32 = 64;
678pub const AV_CH_FRONT_RIGHT_OF_CENTER: u32 = 128;
679pub const AV_CH_BACK_CENTER: u32 = 256;
680pub const AV_CH_SIDE_LEFT: u32 = 512;
681pub const AV_CH_SIDE_RIGHT: u32 = 1024;
682pub const AV_CH_TOP_CENTER: u32 = 2048;
683pub const AV_CH_TOP_FRONT_LEFT: u32 = 4096;
684pub const AV_CH_TOP_FRONT_CENTER: u32 = 8192;
685pub const AV_CH_TOP_FRONT_RIGHT: u32 = 16384;
686pub const AV_CH_TOP_BACK_LEFT: u32 = 32768;
687pub const AV_CH_TOP_BACK_CENTER: u32 = 65536;
688pub const AV_CH_TOP_BACK_RIGHT: u32 = 131072;
689pub const AV_CH_STEREO_LEFT: u32 = 536870912;
690pub const AV_CH_STEREO_RIGHT: u32 = 1073741824;
691pub const AV_CH_WIDE_LEFT: u32 = 2147483648;
692pub const AV_CH_WIDE_RIGHT: u64 = 4294967296;
693pub const AV_CH_SURROUND_DIRECT_LEFT: u64 = 8589934592;
694pub const AV_CH_SURROUND_DIRECT_RIGHT: u64 = 17179869184;
695pub const AV_CH_LOW_FREQUENCY_2: u64 = 34359738368;
696pub const AV_CH_LAYOUT_NATIVE: i64 = -9223372036854775808;
697pub const AV_CH_LAYOUT_MONO: u32 = 4;
698pub const AV_CH_LAYOUT_STEREO: u32 = 3;
699pub const AV_CH_LAYOUT_2POINT1: u32 = 11;
700pub const AV_CH_LAYOUT_2_1: u32 = 259;
701pub const AV_CH_LAYOUT_SURROUND: u32 = 7;
702pub const AV_CH_LAYOUT_3POINT1: u32 = 15;
703pub const AV_CH_LAYOUT_4POINT0: u32 = 263;
704pub const AV_CH_LAYOUT_4POINT1: u32 = 271;
705pub const AV_CH_LAYOUT_2_2: u32 = 1539;
706pub const AV_CH_LAYOUT_QUAD: u32 = 51;
707pub const AV_CH_LAYOUT_5POINT0: u32 = 1543;
708pub const AV_CH_LAYOUT_5POINT1: u32 = 1551;
709pub const AV_CH_LAYOUT_5POINT0_BACK: u32 = 55;
710pub const AV_CH_LAYOUT_5POINT1_BACK: u32 = 63;
711pub const AV_CH_LAYOUT_6POINT0: u32 = 1799;
712pub const AV_CH_LAYOUT_6POINT0_FRONT: u32 = 1731;
713pub const AV_CH_LAYOUT_HEXAGONAL: u32 = 311;
714pub const AV_CH_LAYOUT_6POINT1: u32 = 1807;
715pub const AV_CH_LAYOUT_6POINT1_BACK: u32 = 319;
716pub const AV_CH_LAYOUT_6POINT1_FRONT: u32 = 1739;
717pub const AV_CH_LAYOUT_7POINT0: u32 = 1591;
718pub const AV_CH_LAYOUT_7POINT0_FRONT: u32 = 1735;
719pub const AV_CH_LAYOUT_7POINT1: u32 = 1599;
720pub const AV_CH_LAYOUT_7POINT1_WIDE: u32 = 1743;
721pub const AV_CH_LAYOUT_7POINT1_WIDE_BACK: u32 = 255;
722pub const AV_CH_LAYOUT_OCTAGONAL: u32 = 1847;
723pub const AV_CH_LAYOUT_HEXADECAGONAL: u64 = 6442710839;
724pub const AV_CH_LAYOUT_STEREO_DOWNMIX: u32 = 1610612736;
725pub const AV_DICT_MATCH_CASE: u32 = 1;
726pub const AV_DICT_IGNORE_SUFFIX: u32 = 2;
727pub const AV_DICT_DONT_STRDUP_KEY: u32 = 4;
728pub const AV_DICT_DONT_STRDUP_VAL: u32 = 8;
729pub const AV_DICT_DONT_OVERWRITE: u32 = 16;
730pub const AV_DICT_APPEND: u32 = 32;
731pub const AV_DICT_MULTIKEY: u32 = 64;
732pub const AV_NUM_DATA_POINTERS: u32 = 8;
733pub const AV_FRAME_FLAG_CORRUPT: u32 = 1;
734pub const AV_FRAME_FLAG_DISCARD: u32 = 4;
735pub const FF_DECODE_ERROR_INVALID_BITSTREAM: u32 = 1;
736pub const FF_DECODE_ERROR_MISSING_REFERENCE: u32 = 2;
737pub const LIBAVCODEC_VERSION_MAJOR: u32 = 58;
738pub const LIBAVCODEC_VERSION_MINOR: u32 = 35;
739pub const LIBAVCODEC_VERSION_MICRO: u32 = 100;
740pub const AV_CODEC_PROP_INTRA_ONLY: u32 = 1;
741pub const AV_CODEC_PROP_LOSSY: u32 = 2;
742pub const AV_CODEC_PROP_LOSSLESS: u32 = 4;
743pub const AV_CODEC_PROP_REORDER: u32 = 8;
744pub const AV_CODEC_PROP_BITMAP_SUB: u32 = 65536;
745pub const AV_CODEC_PROP_TEXT_SUB: u32 = 131072;
746pub const AV_INPUT_BUFFER_PADDING_SIZE: u32 = 64;
747pub const AV_INPUT_BUFFER_MIN_SIZE: u32 = 16384;
748pub const AV_CODEC_FLAG_UNALIGNED: u32 = 1;
749pub const AV_CODEC_FLAG_QSCALE: u32 = 2;
750pub const AV_CODEC_FLAG_4MV: u32 = 4;
751pub const AV_CODEC_FLAG_OUTPUT_CORRUPT: u32 = 8;
752pub const AV_CODEC_FLAG_QPEL: u32 = 16;
753pub const AV_CODEC_FLAG_PASS1: u32 = 512;
754pub const AV_CODEC_FLAG_PASS2: u32 = 1024;
755pub const AV_CODEC_FLAG_LOOP_FILTER: u32 = 2048;
756pub const AV_CODEC_FLAG_GRAY: u32 = 8192;
757pub const AV_CODEC_FLAG_PSNR: u32 = 32768;
758pub const AV_CODEC_FLAG_TRUNCATED: u32 = 65536;
759pub const AV_CODEC_FLAG_INTERLACED_DCT: u32 = 262144;
760pub const AV_CODEC_FLAG_LOW_DELAY: u32 = 524288;
761pub const AV_CODEC_FLAG_GLOBAL_HEADER: u32 = 4194304;
762pub const AV_CODEC_FLAG_BITEXACT: u32 = 8388608;
763pub const AV_CODEC_FLAG_AC_PRED: u32 = 16777216;
764pub const AV_CODEC_FLAG_INTERLACED_ME: u32 = 536870912;
765pub const AV_CODEC_FLAG_CLOSED_GOP: u32 = 2147483648;
766pub const AV_CODEC_FLAG2_FAST: u32 = 1;
767pub const AV_CODEC_FLAG2_NO_OUTPUT: u32 = 4;
768pub const AV_CODEC_FLAG2_LOCAL_HEADER: u32 = 8;
769pub const AV_CODEC_FLAG2_DROP_FRAME_TIMECODE: u32 = 8192;
770pub const AV_CODEC_FLAG2_CHUNKS: u32 = 32768;
771pub const AV_CODEC_FLAG2_IGNORE_CROP: u32 = 65536;
772pub const AV_CODEC_FLAG2_SHOW_ALL: u32 = 4194304;
773pub const AV_CODEC_FLAG2_EXPORT_MVS: u32 = 268435456;
774pub const AV_CODEC_FLAG2_SKIP_MANUAL: u32 = 536870912;
775pub const AV_CODEC_FLAG2_RO_FLUSH_NOOP: u32 = 1073741824;
776pub const AV_CODEC_CAP_DRAW_HORIZ_BAND: u32 = 1;
777pub const AV_CODEC_CAP_DR1: u32 = 2;
778pub const AV_CODEC_CAP_TRUNCATED: u32 = 8;
779pub const AV_CODEC_CAP_DELAY: u32 = 32;
780pub const AV_CODEC_CAP_SMALL_LAST_FRAME: u32 = 64;
781pub const AV_CODEC_CAP_SUBFRAMES: u32 = 256;
782pub const AV_CODEC_CAP_EXPERIMENTAL: u32 = 512;
783pub const AV_CODEC_CAP_CHANNEL_CONF: u32 = 1024;
784pub const AV_CODEC_CAP_FRAME_THREADS: u32 = 4096;
785pub const AV_CODEC_CAP_SLICE_THREADS: u32 = 8192;
786pub const AV_CODEC_CAP_PARAM_CHANGE: u32 = 16384;
787pub const AV_CODEC_CAP_AUTO_THREADS: u32 = 32768;
788pub const AV_CODEC_CAP_VARIABLE_FRAME_SIZE: u32 = 65536;
789pub const AV_CODEC_CAP_AVOID_PROBING: u32 = 131072;
790pub const AV_CODEC_CAP_INTRA_ONLY: u32 = 1073741824;
791pub const AV_CODEC_CAP_LOSSLESS: u32 = 2147483648;
792pub const AV_CODEC_CAP_HARDWARE: u32 = 262144;
793pub const AV_CODEC_CAP_HYBRID: u32 = 524288;
794pub const AV_GET_BUFFER_FLAG_REF: u32 = 1;
795pub const AV_PKT_FLAG_KEY: u32 = 1;
796pub const AV_PKT_FLAG_CORRUPT: u32 = 2;
797pub const AV_PKT_FLAG_DISCARD: u32 = 4;
798pub const AV_PKT_FLAG_TRUSTED: u32 = 8;
799pub const AV_PKT_FLAG_DISPOSABLE: u32 = 16;
800pub const FF_COMPRESSION_DEFAULT: i32 = -1;
801pub const FF_PRED_LEFT: u32 = 0;
802pub const FF_PRED_PLANE: u32 = 1;
803pub const FF_PRED_MEDIAN: u32 = 2;
804pub const FF_CMP_SAD: u32 = 0;
805pub const FF_CMP_SSE: u32 = 1;
806pub const FF_CMP_SATD: u32 = 2;
807pub const FF_CMP_DCT: u32 = 3;
808pub const FF_CMP_PSNR: u32 = 4;
809pub const FF_CMP_BIT: u32 = 5;
810pub const FF_CMP_RD: u32 = 6;
811pub const FF_CMP_ZERO: u32 = 7;
812pub const FF_CMP_VSAD: u32 = 8;
813pub const FF_CMP_VSSE: u32 = 9;
814pub const FF_CMP_NSSE: u32 = 10;
815pub const FF_CMP_W53: u32 = 11;
816pub const FF_CMP_W97: u32 = 12;
817pub const FF_CMP_DCTMAX: u32 = 13;
818pub const FF_CMP_DCT264: u32 = 14;
819pub const FF_CMP_MEDIAN_SAD: u32 = 15;
820pub const FF_CMP_CHROMA: u32 = 256;
821pub const SLICE_FLAG_CODED_ORDER: u32 = 1;
822pub const SLICE_FLAG_ALLOW_FIELD: u32 = 2;
823pub const SLICE_FLAG_ALLOW_PLANE: u32 = 4;
824pub const FF_MB_DECISION_SIMPLE: u32 = 0;
825pub const FF_MB_DECISION_BITS: u32 = 1;
826pub const FF_MB_DECISION_RD: u32 = 2;
827pub const FF_CODER_TYPE_VLC: u32 = 0;
828pub const FF_CODER_TYPE_AC: u32 = 1;
829pub const FF_CODER_TYPE_RAW: u32 = 2;
830pub const FF_CODER_TYPE_RLE: u32 = 3;
831pub const FF_BUG_AUTODETECT: u32 = 1;
832pub const FF_BUG_XVID_ILACE: u32 = 4;
833pub const FF_BUG_UMP4: u32 = 8;
834pub const FF_BUG_NO_PADDING: u32 = 16;
835pub const FF_BUG_AMV: u32 = 32;
836pub const FF_BUG_QPEL_CHROMA: u32 = 64;
837pub const FF_BUG_STD_QPEL: u32 = 128;
838pub const FF_BUG_QPEL_CHROMA2: u32 = 256;
839pub const FF_BUG_DIRECT_BLOCKSIZE: u32 = 512;
840pub const FF_BUG_EDGE: u32 = 1024;
841pub const FF_BUG_HPEL_CHROMA: u32 = 2048;
842pub const FF_BUG_DC_CLIP: u32 = 4096;
843pub const FF_BUG_MS: u32 = 8192;
844pub const FF_BUG_TRUNCATED: u32 = 16384;
845pub const FF_BUG_IEDGE: u32 = 32768;
846pub const FF_COMPLIANCE_VERY_STRICT: u32 = 2;
847pub const FF_COMPLIANCE_STRICT: u32 = 1;
848pub const FF_COMPLIANCE_NORMAL: u32 = 0;
849pub const FF_COMPLIANCE_UNOFFICIAL: i32 = -1;
850pub const FF_COMPLIANCE_EXPERIMENTAL: i32 = -2;
851pub const FF_EC_GUESS_MVS: u32 = 1;
852pub const FF_EC_DEBLOCK: u32 = 2;
853pub const FF_EC_FAVOR_INTER: u32 = 256;
854pub const FF_DEBUG_PICT_INFO: u32 = 1;
855pub const FF_DEBUG_RC: u32 = 2;
856pub const FF_DEBUG_BITSTREAM: u32 = 4;
857pub const FF_DEBUG_MB_TYPE: u32 = 8;
858pub const FF_DEBUG_QP: u32 = 16;
859pub const FF_DEBUG_DCT_COEFF: u32 = 64;
860pub const FF_DEBUG_SKIP: u32 = 128;
861pub const FF_DEBUG_STARTCODE: u32 = 256;
862pub const FF_DEBUG_ER: u32 = 1024;
863pub const FF_DEBUG_MMCO: u32 = 2048;
864pub const FF_DEBUG_BUGS: u32 = 4096;
865pub const FF_DEBUG_BUFFERS: u32 = 32768;
866pub const FF_DEBUG_THREADS: u32 = 65536;
867pub const FF_DEBUG_GREEN_MD: u32 = 8388608;
868pub const FF_DEBUG_NOMC: u32 = 16777216;
869pub const AV_EF_CRCCHECK: u32 = 1;
870pub const AV_EF_BITSTREAM: u32 = 2;
871pub const AV_EF_BUFFER: u32 = 4;
872pub const AV_EF_EXPLODE: u32 = 8;
873pub const AV_EF_IGNORE_ERR: u32 = 32768;
874pub const AV_EF_CAREFUL: u32 = 65536;
875pub const AV_EF_COMPLIANT: u32 = 131072;
876pub const AV_EF_AGGRESSIVE: u32 = 262144;
877pub const FF_DCT_AUTO: u32 = 0;
878pub const FF_DCT_FASTINT: u32 = 1;
879pub const FF_DCT_INT: u32 = 2;
880pub const FF_DCT_MMX: u32 = 3;
881pub const FF_DCT_ALTIVEC: u32 = 5;
882pub const FF_DCT_FAAN: u32 = 6;
883pub const FF_IDCT_AUTO: u32 = 0;
884pub const FF_IDCT_INT: u32 = 1;
885pub const FF_IDCT_SIMPLE: u32 = 2;
886pub const FF_IDCT_SIMPLEMMX: u32 = 3;
887pub const FF_IDCT_ARM: u32 = 7;
888pub const FF_IDCT_ALTIVEC: u32 = 8;
889pub const FF_IDCT_SIMPLEARM: u32 = 10;
890pub const FF_IDCT_XVID: u32 = 14;
891pub const FF_IDCT_SIMPLEARMV5TE: u32 = 16;
892pub const FF_IDCT_SIMPLEARMV6: u32 = 17;
893pub const FF_IDCT_FAAN: u32 = 20;
894pub const FF_IDCT_SIMPLENEON: u32 = 22;
895pub const FF_IDCT_NONE: u32 = 24;
896pub const FF_IDCT_SIMPLEAUTO: u32 = 128;
897pub const FF_THREAD_FRAME: u32 = 1;
898pub const FF_THREAD_SLICE: u32 = 2;
899pub const FF_PROFILE_UNKNOWN: i32 = -99;
900pub const FF_PROFILE_RESERVED: i32 = -100;
901pub const FF_PROFILE_AAC_MAIN: u32 = 0;
902pub const FF_PROFILE_AAC_LOW: u32 = 1;
903pub const FF_PROFILE_AAC_SSR: u32 = 2;
904pub const FF_PROFILE_AAC_LTP: u32 = 3;
905pub const FF_PROFILE_AAC_HE: u32 = 4;
906pub const FF_PROFILE_AAC_HE_V2: u32 = 28;
907pub const FF_PROFILE_AAC_LD: u32 = 22;
908pub const FF_PROFILE_AAC_ELD: u32 = 38;
909pub const FF_PROFILE_MPEG2_AAC_LOW: u32 = 128;
910pub const FF_PROFILE_MPEG2_AAC_HE: u32 = 131;
911pub const FF_PROFILE_DNXHD: u32 = 0;
912pub const FF_PROFILE_DNXHR_LB: u32 = 1;
913pub const FF_PROFILE_DNXHR_SQ: u32 = 2;
914pub const FF_PROFILE_DNXHR_HQ: u32 = 3;
915pub const FF_PROFILE_DNXHR_HQX: u32 = 4;
916pub const FF_PROFILE_DNXHR_444: u32 = 5;
917pub const FF_PROFILE_DTS: u32 = 20;
918pub const FF_PROFILE_DTS_ES: u32 = 30;
919pub const FF_PROFILE_DTS_96_24: u32 = 40;
920pub const FF_PROFILE_DTS_HD_HRA: u32 = 50;
921pub const FF_PROFILE_DTS_HD_MA: u32 = 60;
922pub const FF_PROFILE_DTS_EXPRESS: u32 = 70;
923pub const FF_PROFILE_MPEG2_422: u32 = 0;
924pub const FF_PROFILE_MPEG2_HIGH: u32 = 1;
925pub const FF_PROFILE_MPEG2_SS: u32 = 2;
926pub const FF_PROFILE_MPEG2_SNR_SCALABLE: u32 = 3;
927pub const FF_PROFILE_MPEG2_MAIN: u32 = 4;
928pub const FF_PROFILE_MPEG2_SIMPLE: u32 = 5;
929pub const FF_PROFILE_H264_CONSTRAINED: u32 = 512;
930pub const FF_PROFILE_H264_INTRA: u32 = 2048;
931pub const FF_PROFILE_H264_BASELINE: u32 = 66;
932pub const FF_PROFILE_H264_CONSTRAINED_BASELINE: u32 = 578;
933pub const FF_PROFILE_H264_MAIN: u32 = 77;
934pub const FF_PROFILE_H264_EXTENDED: u32 = 88;
935pub const FF_PROFILE_H264_HIGH: u32 = 100;
936pub const FF_PROFILE_H264_HIGH_10: u32 = 110;
937pub const FF_PROFILE_H264_HIGH_10_INTRA: u32 = 2158;
938pub const FF_PROFILE_H264_MULTIVIEW_HIGH: u32 = 118;
939pub const FF_PROFILE_H264_HIGH_422: u32 = 122;
940pub const FF_PROFILE_H264_HIGH_422_INTRA: u32 = 2170;
941pub const FF_PROFILE_H264_STEREO_HIGH: u32 = 128;
942pub const FF_PROFILE_H264_HIGH_444: u32 = 144;
943pub const FF_PROFILE_H264_HIGH_444_PREDICTIVE: u32 = 244;
944pub const FF_PROFILE_H264_HIGH_444_INTRA: u32 = 2292;
945pub const FF_PROFILE_H264_CAVLC_444: u32 = 44;
946pub const FF_PROFILE_VC1_SIMPLE: u32 = 0;
947pub const FF_PROFILE_VC1_MAIN: u32 = 1;
948pub const FF_PROFILE_VC1_COMPLEX: u32 = 2;
949pub const FF_PROFILE_VC1_ADVANCED: u32 = 3;
950pub const FF_PROFILE_MPEG4_SIMPLE: u32 = 0;
951pub const FF_PROFILE_MPEG4_SIMPLE_SCALABLE: u32 = 1;
952pub const FF_PROFILE_MPEG4_CORE: u32 = 2;
953pub const FF_PROFILE_MPEG4_MAIN: u32 = 3;
954pub const FF_PROFILE_MPEG4_N_BIT: u32 = 4;
955pub const FF_PROFILE_MPEG4_SCALABLE_TEXTURE: u32 = 5;
956pub const FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION: u32 = 6;
957pub const FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE: u32 = 7;
958pub const FF_PROFILE_MPEG4_HYBRID: u32 = 8;
959pub const FF_PROFILE_MPEG4_ADVANCED_REAL_TIME: u32 = 9;
960pub const FF_PROFILE_MPEG4_CORE_SCALABLE: u32 = 10;
961pub const FF_PROFILE_MPEG4_ADVANCED_CODING: u32 = 11;
962pub const FF_PROFILE_MPEG4_ADVANCED_CORE: u32 = 12;
963pub const FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE: u32 = 13;
964pub const FF_PROFILE_MPEG4_SIMPLE_STUDIO: u32 = 14;
965pub const FF_PROFILE_MPEG4_ADVANCED_SIMPLE: u32 = 15;
966pub const FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0: u32 = 1;
967pub const FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1: u32 = 2;
968pub const FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION: u32 = 32768;
969pub const FF_PROFILE_JPEG2000_DCINEMA_2K: u32 = 3;
970pub const FF_PROFILE_JPEG2000_DCINEMA_4K: u32 = 4;
971pub const FF_PROFILE_VP9_0: u32 = 0;
972pub const FF_PROFILE_VP9_1: u32 = 1;
973pub const FF_PROFILE_VP9_2: u32 = 2;
974pub const FF_PROFILE_VP9_3: u32 = 3;
975pub const FF_PROFILE_HEVC_MAIN: u32 = 1;
976pub const FF_PROFILE_HEVC_MAIN_10: u32 = 2;
977pub const FF_PROFILE_HEVC_MAIN_STILL_PICTURE: u32 = 3;
978pub const FF_PROFILE_HEVC_REXT: u32 = 4;
979pub const FF_PROFILE_AV1_MAIN: u32 = 0;
980pub const FF_PROFILE_AV1_HIGH: u32 = 1;
981pub const FF_PROFILE_AV1_PROFESSIONAL: u32 = 2;
982pub const FF_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT: u32 = 192;
983pub const FF_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT: u32 = 193;
984pub const FF_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT: u32 = 194;
985pub const FF_PROFILE_MJPEG_HUFFMAN_LOSSLESS: u32 = 195;
986pub const FF_PROFILE_MJPEG_JPEG_LS: u32 = 247;
987pub const FF_PROFILE_SBC_MSBC: u32 = 1;
988pub const FF_LEVEL_UNKNOWN: i32 = -99;
989pub const FF_SUB_CHARENC_MODE_DO_NOTHING: i32 = -1;
990pub const FF_SUB_CHARENC_MODE_AUTOMATIC: u32 = 0;
991pub const FF_SUB_CHARENC_MODE_PRE_DECODER: u32 = 1;
992pub const FF_SUB_CHARENC_MODE_IGNORE: u32 = 2;
993pub const FF_DEBUG_VIS_MV_P_FOR: u32 = 1;
994pub const FF_DEBUG_VIS_MV_B_FOR: u32 = 2;
995pub const FF_DEBUG_VIS_MV_B_BACK: u32 = 4;
996pub const FF_CODEC_PROPERTY_LOSSLESS: u32 = 1;
997pub const FF_CODEC_PROPERTY_CLOSED_CAPTIONS: u32 = 2;
998pub const FF_SUB_TEXT_FMT_ASS: u32 = 0;
999pub const FF_SUB_TEXT_FMT_ASS_WITH_TIMINGS: u32 = 1;
1000pub const AV_HWACCEL_CODEC_CAP_EXPERIMENTAL: u32 = 512;
1001pub const AV_HWACCEL_FLAG_IGNORE_LEVEL: u32 = 1;
1002pub const AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH: u32 = 2;
1003pub const AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH: u32 = 4;
1004pub const AV_SUBTITLE_FLAG_FORCED: u32 = 1;
1005pub const AV_PARSER_PTS_NB: u32 = 4;
1006pub const PARSER_FLAG_COMPLETE_FRAMES: u32 = 1;
1007pub const PARSER_FLAG_ONCE: u32 = 2;
1008pub const PARSER_FLAG_FETCHED_OFFSET: u32 = 4;
1009pub const PARSER_FLAG_USE_CODEC_TS: u32 = 4096;
1010extern "C" {
1011 pub fn __errno_location() -> *mut ::std::os::raw::c_int;
1012}
1013pub type __u_char = ::std::os::raw::c_uchar;
1014pub type __u_short = ::std::os::raw::c_ushort;
1015pub type __u_int = ::std::os::raw::c_uint;
1016pub type __u_long = ::std::os::raw::c_ulong;
1017pub type __int8_t = ::std::os::raw::c_schar;
1018pub type __uint8_t = ::std::os::raw::c_uchar;
1019pub type __int16_t = ::std::os::raw::c_short;
1020pub type __uint16_t = ::std::os::raw::c_ushort;
1021pub type __int32_t = ::std::os::raw::c_int;
1022pub type __uint32_t = ::std::os::raw::c_uint;
1023pub type __int64_t = ::std::os::raw::c_long;
1024pub type __uint64_t = ::std::os::raw::c_ulong;
1025pub type __int_least8_t = __int8_t;
1026pub type __uint_least8_t = __uint8_t;
1027pub type __int_least16_t = __int16_t;
1028pub type __uint_least16_t = __uint16_t;
1029pub type __int_least32_t = __int32_t;
1030pub type __uint_least32_t = __uint32_t;
1031pub type __int_least64_t = __int64_t;
1032pub type __uint_least64_t = __uint64_t;
1033pub type __quad_t = ::std::os::raw::c_long;
1034pub type __u_quad_t = ::std::os::raw::c_ulong;
1035pub type __intmax_t = ::std::os::raw::c_long;
1036pub type __uintmax_t = ::std::os::raw::c_ulong;
1037pub type __dev_t = ::std::os::raw::c_ulong;
1038pub type __uid_t = ::std::os::raw::c_uint;
1039pub type __gid_t = ::std::os::raw::c_uint;
1040pub type __ino_t = ::std::os::raw::c_ulong;
1041pub type __ino64_t = ::std::os::raw::c_ulong;
1042pub type __mode_t = ::std::os::raw::c_uint;
1043pub type __nlink_t = ::std::os::raw::c_ulong;
1044pub type __off_t = ::std::os::raw::c_long;
1045pub type __off64_t = ::std::os::raw::c_long;
1046pub type __pid_t = ::std::os::raw::c_int;
1047#[repr(C)]
1048#[derive(Debug, Copy, Clone)]
1049pub struct __fsid_t {
1050 pub __val: [::std::os::raw::c_int; 2usize],
1051}
1052pub type __clock_t = ::std::os::raw::c_long;
1053pub type __rlim_t = ::std::os::raw::c_ulong;
1054pub type __rlim64_t = ::std::os::raw::c_ulong;
1055pub type __id_t = ::std::os::raw::c_uint;
1056pub type __time_t = ::std::os::raw::c_long;
1057pub type __useconds_t = ::std::os::raw::c_uint;
1058pub type __suseconds_t = ::std::os::raw::c_long;
1059pub type __daddr_t = ::std::os::raw::c_int;
1060pub type __key_t = ::std::os::raw::c_int;
1061pub type __clockid_t = ::std::os::raw::c_int;
1062pub type __timer_t = *mut ::std::os::raw::c_void;
1063pub type __blksize_t = ::std::os::raw::c_long;
1064pub type __blkcnt_t = ::std::os::raw::c_long;
1065pub type __blkcnt64_t = ::std::os::raw::c_long;
1066pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
1067pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
1068pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
1069pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
1070pub type __fsword_t = ::std::os::raw::c_long;
1071pub type __ssize_t = ::std::os::raw::c_long;
1072pub type __syscall_slong_t = ::std::os::raw::c_long;
1073pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
1074pub type __loff_t = __off64_t;
1075pub type __caddr_t = *mut ::std::os::raw::c_char;
1076pub type __intptr_t = ::std::os::raw::c_long;
1077pub type __socklen_t = ::std::os::raw::c_uint;
1078pub type __sig_atomic_t = ::std::os::raw::c_int;
1079pub type int_least8_t = __int_least8_t;
1080pub type int_least16_t = __int_least16_t;
1081pub type int_least32_t = __int_least32_t;
1082pub type int_least64_t = __int_least64_t;
1083pub type uint_least8_t = __uint_least8_t;
1084pub type uint_least16_t = __uint_least16_t;
1085pub type uint_least32_t = __uint_least32_t;
1086pub type uint_least64_t = __uint_least64_t;
1087pub type int_fast8_t = ::std::os::raw::c_schar;
1088pub type int_fast16_t = ::std::os::raw::c_long;
1089pub type int_fast32_t = ::std::os::raw::c_long;
1090pub type int_fast64_t = ::std::os::raw::c_long;
1091pub type uint_fast8_t = ::std::os::raw::c_uchar;
1092pub type uint_fast16_t = ::std::os::raw::c_ulong;
1093pub type uint_fast32_t = ::std::os::raw::c_ulong;
1094pub type uint_fast64_t = ::std::os::raw::c_ulong;
1095pub type intmax_t = __intmax_t;
1096pub type uintmax_t = __uintmax_t;
1097extern "C" {
1098 pub fn avutil_version() -> ::std::os::raw::c_uint;
1099}
1100extern "C" {
1101 pub fn av_version_info() -> *const ::std::os::raw::c_char;
1102}
1103extern "C" {
1104 pub fn avutil_configuration() -> *const ::std::os::raw::c_char;
1105}
1106extern "C" {
1107 pub fn avutil_license() -> *const ::std::os::raw::c_char;
1108}
1109pub const AVMediaType_AVMEDIA_TYPE_UNKNOWN: AVMediaType = -1;
1110pub const AVMediaType_AVMEDIA_TYPE_VIDEO: AVMediaType = 0;
1111pub const AVMediaType_AVMEDIA_TYPE_AUDIO: AVMediaType = 1;
1112pub const AVMediaType_AVMEDIA_TYPE_DATA: AVMediaType = 2;
1113pub const AVMediaType_AVMEDIA_TYPE_SUBTITLE: AVMediaType = 3;
1114pub const AVMediaType_AVMEDIA_TYPE_ATTACHMENT: AVMediaType = 4;
1115pub const AVMediaType_AVMEDIA_TYPE_NB: AVMediaType = 5;
1116pub type AVMediaType = i32;
1117extern "C" {
1118 pub fn av_get_media_type_string(media_type: AVMediaType) -> *const ::std::os::raw::c_char;
1119}
1120pub const AVPictureType_AV_PICTURE_TYPE_NONE: AVPictureType = 0;
1121pub const AVPictureType_AV_PICTURE_TYPE_I: AVPictureType = 1;
1122pub const AVPictureType_AV_PICTURE_TYPE_P: AVPictureType = 2;
1123pub const AVPictureType_AV_PICTURE_TYPE_B: AVPictureType = 3;
1124pub const AVPictureType_AV_PICTURE_TYPE_S: AVPictureType = 4;
1125pub const AVPictureType_AV_PICTURE_TYPE_SI: AVPictureType = 5;
1126pub const AVPictureType_AV_PICTURE_TYPE_SP: AVPictureType = 6;
1127pub const AVPictureType_AV_PICTURE_TYPE_BI: AVPictureType = 7;
1128pub type AVPictureType = u32;
1129extern "C" {
1130 pub fn av_get_picture_type_char(pict_type: AVPictureType) -> ::std::os::raw::c_char;
1131}
1132pub type __gwchar_t = ::std::os::raw::c_int;
1133#[repr(C)]
1134#[derive(Debug, Copy, Clone)]
1135pub struct imaxdiv_t {
1136 pub quot: ::std::os::raw::c_long,
1137 pub rem: ::std::os::raw::c_long,
1138}
1139extern "C" {
1140 pub fn imaxabs(__n: intmax_t) -> intmax_t;
1141}
1142extern "C" {
1143 pub fn imaxdiv(__numer: intmax_t, __denom: intmax_t) -> imaxdiv_t;
1144}
1145extern "C" {
1146 pub fn strtoimax(
1147 __nptr: *const ::std::os::raw::c_char,
1148 __endptr: *mut *mut ::std::os::raw::c_char,
1149 __base: ::std::os::raw::c_int,
1150 ) -> intmax_t;
1151}
1152extern "C" {
1153 pub fn strtoumax(
1154 __nptr: *const ::std::os::raw::c_char,
1155 __endptr: *mut *mut ::std::os::raw::c_char,
1156 __base: ::std::os::raw::c_int,
1157 ) -> uintmax_t;
1158}
1159extern "C" {
1160 pub fn wcstoimax(
1161 __nptr: *const __gwchar_t,
1162 __endptr: *mut *mut __gwchar_t,
1163 __base: ::std::os::raw::c_int,
1164 ) -> intmax_t;
1165}
1166extern "C" {
1167 pub fn wcstoumax(
1168 __nptr: *const __gwchar_t,
1169 __endptr: *mut *mut __gwchar_t,
1170 __base: ::std::os::raw::c_int,
1171 ) -> uintmax_t;
1172}
1173pub type _Float32 = f32;
1174pub type _Float64 = f64;
1175pub type _Float32x = f64;
1176pub type _Float64x = u128;
1177pub type float_t = f32;
1178pub type double_t = f64;
1179extern "C" {
1180 pub fn __fpclassify(__value: f64) -> ::std::os::raw::c_int;
1181}
1182extern "C" {
1183 pub fn __signbit(__value: f64) -> ::std::os::raw::c_int;
1184}
1185extern "C" {
1186 pub fn __isinf(__value: f64) -> ::std::os::raw::c_int;
1187}
1188extern "C" {
1189 pub fn __finite(__value: f64) -> ::std::os::raw::c_int;
1190}
1191extern "C" {
1192 pub fn __isnan(__value: f64) -> ::std::os::raw::c_int;
1193}
1194extern "C" {
1195 pub fn __iseqsig(__x: f64, __y: f64) -> ::std::os::raw::c_int;
1196}
1197extern "C" {
1198 pub fn __issignaling(__value: f64) -> ::std::os::raw::c_int;
1199}
1200extern "C" {
1201 pub fn acos(__x: f64) -> f64;
1202}
1203extern "C" {
1204 pub fn __acos(__x: f64) -> f64;
1205}
1206extern "C" {
1207 pub fn asin(__x: f64) -> f64;
1208}
1209extern "C" {
1210 pub fn __asin(__x: f64) -> f64;
1211}
1212extern "C" {
1213 pub fn atan(__x: f64) -> f64;
1214}
1215extern "C" {
1216 pub fn __atan(__x: f64) -> f64;
1217}
1218extern "C" {
1219 pub fn atan2(__y: f64, __x: f64) -> f64;
1220}
1221extern "C" {
1222 pub fn __atan2(__y: f64, __x: f64) -> f64;
1223}
1224extern "C" {
1225 pub fn cos(__x: f64) -> f64;
1226}
1227extern "C" {
1228 pub fn __cos(__x: f64) -> f64;
1229}
1230extern "C" {
1231 pub fn sin(__x: f64) -> f64;
1232}
1233extern "C" {
1234 pub fn __sin(__x: f64) -> f64;
1235}
1236extern "C" {
1237 pub fn tan(__x: f64) -> f64;
1238}
1239extern "C" {
1240 pub fn __tan(__x: f64) -> f64;
1241}
1242extern "C" {
1243 pub fn cosh(__x: f64) -> f64;
1244}
1245extern "C" {
1246 pub fn __cosh(__x: f64) -> f64;
1247}
1248extern "C" {
1249 pub fn sinh(__x: f64) -> f64;
1250}
1251extern "C" {
1252 pub fn __sinh(__x: f64) -> f64;
1253}
1254extern "C" {
1255 pub fn tanh(__x: f64) -> f64;
1256}
1257extern "C" {
1258 pub fn __tanh(__x: f64) -> f64;
1259}
1260extern "C" {
1261 pub fn acosh(__x: f64) -> f64;
1262}
1263extern "C" {
1264 pub fn __acosh(__x: f64) -> f64;
1265}
1266extern "C" {
1267 pub fn asinh(__x: f64) -> f64;
1268}
1269extern "C" {
1270 pub fn __asinh(__x: f64) -> f64;
1271}
1272extern "C" {
1273 pub fn atanh(__x: f64) -> f64;
1274}
1275extern "C" {
1276 pub fn __atanh(__x: f64) -> f64;
1277}
1278extern "C" {
1279 pub fn exp(__x: f64) -> f64;
1280}
1281extern "C" {
1282 pub fn __exp(__x: f64) -> f64;
1283}
1284extern "C" {
1285 pub fn frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
1286}
1287extern "C" {
1288 pub fn __frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
1289}
1290extern "C" {
1291 pub fn ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
1292}
1293extern "C" {
1294 pub fn __ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
1295}
1296extern "C" {
1297 pub fn log(__x: f64) -> f64;
1298}
1299extern "C" {
1300 pub fn __log(__x: f64) -> f64;
1301}
1302extern "C" {
1303 pub fn log10(__x: f64) -> f64;
1304}
1305extern "C" {
1306 pub fn __log10(__x: f64) -> f64;
1307}
1308extern "C" {
1309 pub fn modf(__x: f64, __iptr: *mut f64) -> f64;
1310}
1311extern "C" {
1312 pub fn __modf(__x: f64, __iptr: *mut f64) -> f64;
1313}
1314extern "C" {
1315 pub fn expm1(__x: f64) -> f64;
1316}
1317extern "C" {
1318 pub fn __expm1(__x: f64) -> f64;
1319}
1320extern "C" {
1321 pub fn log1p(__x: f64) -> f64;
1322}
1323extern "C" {
1324 pub fn __log1p(__x: f64) -> f64;
1325}
1326extern "C" {
1327 pub fn logb(__x: f64) -> f64;
1328}
1329extern "C" {
1330 pub fn __logb(__x: f64) -> f64;
1331}
1332extern "C" {
1333 pub fn exp2(__x: f64) -> f64;
1334}
1335extern "C" {
1336 pub fn __exp2(__x: f64) -> f64;
1337}
1338extern "C" {
1339 pub fn log2(__x: f64) -> f64;
1340}
1341extern "C" {
1342 pub fn __log2(__x: f64) -> f64;
1343}
1344extern "C" {
1345 pub fn pow(__x: f64, __y: f64) -> f64;
1346}
1347extern "C" {
1348 pub fn __pow(__x: f64, __y: f64) -> f64;
1349}
1350extern "C" {
1351 pub fn sqrt(__x: f64) -> f64;
1352}
1353extern "C" {
1354 pub fn __sqrt(__x: f64) -> f64;
1355}
1356extern "C" {
1357 pub fn hypot(__x: f64, __y: f64) -> f64;
1358}
1359extern "C" {
1360 pub fn __hypot(__x: f64, __y: f64) -> f64;
1361}
1362extern "C" {
1363 pub fn cbrt(__x: f64) -> f64;
1364}
1365extern "C" {
1366 pub fn __cbrt(__x: f64) -> f64;
1367}
1368extern "C" {
1369 pub fn ceil(__x: f64) -> f64;
1370}
1371extern "C" {
1372 pub fn __ceil(__x: f64) -> f64;
1373}
1374extern "C" {
1375 pub fn fabs(__x: f64) -> f64;
1376}
1377extern "C" {
1378 pub fn __fabs(__x: f64) -> f64;
1379}
1380extern "C" {
1381 pub fn floor(__x: f64) -> f64;
1382}
1383extern "C" {
1384 pub fn __floor(__x: f64) -> f64;
1385}
1386extern "C" {
1387 pub fn fmod(__x: f64, __y: f64) -> f64;
1388}
1389extern "C" {
1390 pub fn __fmod(__x: f64, __y: f64) -> f64;
1391}
1392extern "C" {
1393 pub fn isinf(__value: f64) -> ::std::os::raw::c_int;
1394}
1395extern "C" {
1396 pub fn finite(__value: f64) -> ::std::os::raw::c_int;
1397}
1398extern "C" {
1399 pub fn drem(__x: f64, __y: f64) -> f64;
1400}
1401extern "C" {
1402 pub fn __drem(__x: f64, __y: f64) -> f64;
1403}
1404extern "C" {
1405 pub fn significand(__x: f64) -> f64;
1406}
1407extern "C" {
1408 pub fn __significand(__x: f64) -> f64;
1409}
1410extern "C" {
1411 pub fn copysign(__x: f64, __y: f64) -> f64;
1412}
1413extern "C" {
1414 pub fn __copysign(__x: f64, __y: f64) -> f64;
1415}
1416extern "C" {
1417 pub fn nan(__tagb: *const ::std::os::raw::c_char) -> f64;
1418}
1419extern "C" {
1420 pub fn __nan(__tagb: *const ::std::os::raw::c_char) -> f64;
1421}
1422extern "C" {
1423 pub fn isnan(__value: f64) -> ::std::os::raw::c_int;
1424}
1425extern "C" {
1426 pub fn j0(arg1: f64) -> f64;
1427}
1428extern "C" {
1429 pub fn __j0(arg1: f64) -> f64;
1430}
1431extern "C" {
1432 pub fn j1(arg1: f64) -> f64;
1433}
1434extern "C" {
1435 pub fn __j1(arg1: f64) -> f64;
1436}
1437extern "C" {
1438 pub fn jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
1439}
1440extern "C" {
1441 pub fn __jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
1442}
1443extern "C" {
1444 pub fn y0(arg1: f64) -> f64;
1445}
1446extern "C" {
1447 pub fn __y0(arg1: f64) -> f64;
1448}
1449extern "C" {
1450 pub fn y1(arg1: f64) -> f64;
1451}
1452extern "C" {
1453 pub fn __y1(arg1: f64) -> f64;
1454}
1455extern "C" {
1456 pub fn yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
1457}
1458extern "C" {
1459 pub fn __yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
1460}
1461extern "C" {
1462 pub fn erf(arg1: f64) -> f64;
1463}
1464extern "C" {
1465 pub fn __erf(arg1: f64) -> f64;
1466}
1467extern "C" {
1468 pub fn erfc(arg1: f64) -> f64;
1469}
1470extern "C" {
1471 pub fn __erfc(arg1: f64) -> f64;
1472}
1473extern "C" {
1474 pub fn lgamma(arg1: f64) -> f64;
1475}
1476extern "C" {
1477 pub fn __lgamma(arg1: f64) -> f64;
1478}
1479extern "C" {
1480 pub fn tgamma(arg1: f64) -> f64;
1481}
1482extern "C" {
1483 pub fn __tgamma(arg1: f64) -> f64;
1484}
1485extern "C" {
1486 pub fn gamma(arg1: f64) -> f64;
1487}
1488extern "C" {
1489 pub fn __gamma(arg1: f64) -> f64;
1490}
1491extern "C" {
1492 pub fn lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64;
1493}
1494extern "C" {
1495 pub fn __lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64;
1496}
1497extern "C" {
1498 pub fn rint(__x: f64) -> f64;
1499}
1500extern "C" {
1501 pub fn __rint(__x: f64) -> f64;
1502}
1503extern "C" {
1504 pub fn nextafter(__x: f64, __y: f64) -> f64;
1505}
1506extern "C" {
1507 pub fn __nextafter(__x: f64, __y: f64) -> f64;
1508}
1509extern "C" {
1510 pub fn nexttoward(__x: f64, __y: u128) -> f64;
1511}
1512extern "C" {
1513 pub fn __nexttoward(__x: f64, __y: u128) -> f64;
1514}
1515extern "C" {
1516 pub fn remainder(__x: f64, __y: f64) -> f64;
1517}
1518extern "C" {
1519 pub fn __remainder(__x: f64, __y: f64) -> f64;
1520}
1521extern "C" {
1522 pub fn scalbn(__x: f64, __n: ::std::os::raw::c_int) -> f64;
1523}
1524extern "C" {
1525 pub fn __scalbn(__x: f64, __n: ::std::os::raw::c_int) -> f64;
1526}
1527extern "C" {
1528 pub fn ilogb(__x: f64) -> ::std::os::raw::c_int;
1529}
1530extern "C" {
1531 pub fn __ilogb(__x: f64) -> ::std::os::raw::c_int;
1532}
1533extern "C" {
1534 pub fn scalbln(__x: f64, __n: ::std::os::raw::c_long) -> f64;
1535}
1536extern "C" {
1537 pub fn __scalbln(__x: f64, __n: ::std::os::raw::c_long) -> f64;
1538}
1539extern "C" {
1540 pub fn nearbyint(__x: f64) -> f64;
1541}
1542extern "C" {
1543 pub fn __nearbyint(__x: f64) -> f64;
1544}
1545extern "C" {
1546 pub fn round(__x: f64) -> f64;
1547}
1548extern "C" {
1549 pub fn __round(__x: f64) -> f64;
1550}
1551extern "C" {
1552 pub fn trunc(__x: f64) -> f64;
1553}
1554extern "C" {
1555 pub fn __trunc(__x: f64) -> f64;
1556}
1557extern "C" {
1558 pub fn remquo(__x: f64, __y: f64, __quo: *mut ::std::os::raw::c_int) -> f64;
1559}
1560extern "C" {
1561 pub fn __remquo(__x: f64, __y: f64, __quo: *mut ::std::os::raw::c_int) -> f64;
1562}
1563extern "C" {
1564 pub fn lrint(__x: f64) -> ::std::os::raw::c_long;
1565}
1566extern "C" {
1567 pub fn __lrint(__x: f64) -> ::std::os::raw::c_long;
1568}
1569extern "C" {
1570 pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong;
1571}
1572extern "C" {
1573 pub fn __llrint(__x: f64) -> ::std::os::raw::c_longlong;
1574}
1575extern "C" {
1576 pub fn lround(__x: f64) -> ::std::os::raw::c_long;
1577}
1578extern "C" {
1579 pub fn __lround(__x: f64) -> ::std::os::raw::c_long;
1580}
1581extern "C" {
1582 pub fn llround(__x: f64) -> ::std::os::raw::c_longlong;
1583}
1584extern "C" {
1585 pub fn __llround(__x: f64) -> ::std::os::raw::c_longlong;
1586}
1587extern "C" {
1588 pub fn fdim(__x: f64, __y: f64) -> f64;
1589}
1590extern "C" {
1591 pub fn __fdim(__x: f64, __y: f64) -> f64;
1592}
1593extern "C" {
1594 pub fn fmax(__x: f64, __y: f64) -> f64;
1595}
1596extern "C" {
1597 pub fn __fmax(__x: f64, __y: f64) -> f64;
1598}
1599extern "C" {
1600 pub fn fmin(__x: f64, __y: f64) -> f64;
1601}
1602extern "C" {
1603 pub fn __fmin(__x: f64, __y: f64) -> f64;
1604}
1605extern "C" {
1606 pub fn fma(__x: f64, __y: f64, __z: f64) -> f64;
1607}
1608extern "C" {
1609 pub fn __fma(__x: f64, __y: f64, __z: f64) -> f64;
1610}
1611extern "C" {
1612 pub fn scalb(__x: f64, __n: f64) -> f64;
1613}
1614extern "C" {
1615 pub fn __scalb(__x: f64, __n: f64) -> f64;
1616}
1617extern "C" {
1618 pub fn __fpclassifyf(__value: f32) -> ::std::os::raw::c_int;
1619}
1620extern "C" {
1621 pub fn __signbitf(__value: f32) -> ::std::os::raw::c_int;
1622}
1623extern "C" {
1624 pub fn __isinff(__value: f32) -> ::std::os::raw::c_int;
1625}
1626extern "C" {
1627 pub fn __finitef(__value: f32) -> ::std::os::raw::c_int;
1628}
1629extern "C" {
1630 pub fn __isnanf(__value: f32) -> ::std::os::raw::c_int;
1631}
1632extern "C" {
1633 pub fn __iseqsigf(__x: f32, __y: f32) -> ::std::os::raw::c_int;
1634}
1635extern "C" {
1636 pub fn __issignalingf(__value: f32) -> ::std::os::raw::c_int;
1637}
1638extern "C" {
1639 pub fn acosf(__x: f32) -> f32;
1640}
1641extern "C" {
1642 pub fn __acosf(__x: f32) -> f32;
1643}
1644extern "C" {
1645 pub fn asinf(__x: f32) -> f32;
1646}
1647extern "C" {
1648 pub fn __asinf(__x: f32) -> f32;
1649}
1650extern "C" {
1651 pub fn atanf(__x: f32) -> f32;
1652}
1653extern "C" {
1654 pub fn __atanf(__x: f32) -> f32;
1655}
1656extern "C" {
1657 pub fn atan2f(__y: f32, __x: f32) -> f32;
1658}
1659extern "C" {
1660 pub fn __atan2f(__y: f32, __x: f32) -> f32;
1661}
1662extern "C" {
1663 pub fn cosf(__x: f32) -> f32;
1664}
1665extern "C" {
1666 pub fn __cosf(__x: f32) -> f32;
1667}
1668extern "C" {
1669 pub fn sinf(__x: f32) -> f32;
1670}
1671extern "C" {
1672 pub fn __sinf(__x: f32) -> f32;
1673}
1674extern "C" {
1675 pub fn tanf(__x: f32) -> f32;
1676}
1677extern "C" {
1678 pub fn __tanf(__x: f32) -> f32;
1679}
1680extern "C" {
1681 pub fn coshf(__x: f32) -> f32;
1682}
1683extern "C" {
1684 pub fn __coshf(__x: f32) -> f32;
1685}
1686extern "C" {
1687 pub fn sinhf(__x: f32) -> f32;
1688}
1689extern "C" {
1690 pub fn __sinhf(__x: f32) -> f32;
1691}
1692extern "C" {
1693 pub fn tanhf(__x: f32) -> f32;
1694}
1695extern "C" {
1696 pub fn __tanhf(__x: f32) -> f32;
1697}
1698extern "C" {
1699 pub fn acoshf(__x: f32) -> f32;
1700}
1701extern "C" {
1702 pub fn __acoshf(__x: f32) -> f32;
1703}
1704extern "C" {
1705 pub fn asinhf(__x: f32) -> f32;
1706}
1707extern "C" {
1708 pub fn __asinhf(__x: f32) -> f32;
1709}
1710extern "C" {
1711 pub fn atanhf(__x: f32) -> f32;
1712}
1713extern "C" {
1714 pub fn __atanhf(__x: f32) -> f32;
1715}
1716extern "C" {
1717 pub fn expf(__x: f32) -> f32;
1718}
1719extern "C" {
1720 pub fn __expf(__x: f32) -> f32;
1721}
1722extern "C" {
1723 pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
1724}
1725extern "C" {
1726 pub fn __frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
1727}
1728extern "C" {
1729 pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
1730}
1731extern "C" {
1732 pub fn __ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
1733}
1734extern "C" {
1735 pub fn logf(__x: f32) -> f32;
1736}
1737extern "C" {
1738 pub fn __logf(__x: f32) -> f32;
1739}
1740extern "C" {
1741 pub fn log10f(__x: f32) -> f32;
1742}
1743extern "C" {
1744 pub fn __log10f(__x: f32) -> f32;
1745}
1746extern "C" {
1747 pub fn modff(__x: f32, __iptr: *mut f32) -> f32;
1748}
1749extern "C" {
1750 pub fn __modff(__x: f32, __iptr: *mut f32) -> f32;
1751}
1752extern "C" {
1753 pub fn expm1f(__x: f32) -> f32;
1754}
1755extern "C" {
1756 pub fn __expm1f(__x: f32) -> f32;
1757}
1758extern "C" {
1759 pub fn log1pf(__x: f32) -> f32;
1760}
1761extern "C" {
1762 pub fn __log1pf(__x: f32) -> f32;
1763}
1764extern "C" {
1765 pub fn logbf(__x: f32) -> f32;
1766}
1767extern "C" {
1768 pub fn __logbf(__x: f32) -> f32;
1769}
1770extern "C" {
1771 pub fn exp2f(__x: f32) -> f32;
1772}
1773extern "C" {
1774 pub fn __exp2f(__x: f32) -> f32;
1775}
1776extern "C" {
1777 pub fn log2f(__x: f32) -> f32;
1778}
1779extern "C" {
1780 pub fn __log2f(__x: f32) -> f32;
1781}
1782extern "C" {
1783 pub fn powf(__x: f32, __y: f32) -> f32;
1784}
1785extern "C" {
1786 pub fn __powf(__x: f32, __y: f32) -> f32;
1787}
1788extern "C" {
1789 pub fn sqrtf(__x: f32) -> f32;
1790}
1791extern "C" {
1792 pub fn __sqrtf(__x: f32) -> f32;
1793}
1794extern "C" {
1795 pub fn hypotf(__x: f32, __y: f32) -> f32;
1796}
1797extern "C" {
1798 pub fn __hypotf(__x: f32, __y: f32) -> f32;
1799}
1800extern "C" {
1801 pub fn cbrtf(__x: f32) -> f32;
1802}
1803extern "C" {
1804 pub fn __cbrtf(__x: f32) -> f32;
1805}
1806extern "C" {
1807 pub fn ceilf(__x: f32) -> f32;
1808}
1809extern "C" {
1810 pub fn __ceilf(__x: f32) -> f32;
1811}
1812extern "C" {
1813 pub fn fabsf(__x: f32) -> f32;
1814}
1815extern "C" {
1816 pub fn __fabsf(__x: f32) -> f32;
1817}
1818extern "C" {
1819 pub fn floorf(__x: f32) -> f32;
1820}
1821extern "C" {
1822 pub fn __floorf(__x: f32) -> f32;
1823}
1824extern "C" {
1825 pub fn fmodf(__x: f32, __y: f32) -> f32;
1826}
1827extern "C" {
1828 pub fn __fmodf(__x: f32, __y: f32) -> f32;
1829}
1830extern "C" {
1831 pub fn isinff(__value: f32) -> ::std::os::raw::c_int;
1832}
1833extern "C" {
1834 pub fn finitef(__value: f32) -> ::std::os::raw::c_int;
1835}
1836extern "C" {
1837 pub fn dremf(__x: f32, __y: f32) -> f32;
1838}
1839extern "C" {
1840 pub fn __dremf(__x: f32, __y: f32) -> f32;
1841}
1842extern "C" {
1843 pub fn significandf(__x: f32) -> f32;
1844}
1845extern "C" {
1846 pub fn __significandf(__x: f32) -> f32;
1847}
1848extern "C" {
1849 pub fn copysignf(__x: f32, __y: f32) -> f32;
1850}
1851extern "C" {
1852 pub fn __copysignf(__x: f32, __y: f32) -> f32;
1853}
1854extern "C" {
1855 pub fn nanf(__tagb: *const ::std::os::raw::c_char) -> f32;
1856}
1857extern "C" {
1858 pub fn __nanf(__tagb: *const ::std::os::raw::c_char) -> f32;
1859}
1860extern "C" {
1861 pub fn isnanf(__value: f32) -> ::std::os::raw::c_int;
1862}
1863extern "C" {
1864 pub fn j0f(arg1: f32) -> f32;
1865}
1866extern "C" {
1867 pub fn __j0f(arg1: f32) -> f32;
1868}
1869extern "C" {
1870 pub fn j1f(arg1: f32) -> f32;
1871}
1872extern "C" {
1873 pub fn __j1f(arg1: f32) -> f32;
1874}
1875extern "C" {
1876 pub fn jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
1877}
1878extern "C" {
1879 pub fn __jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
1880}
1881extern "C" {
1882 pub fn y0f(arg1: f32) -> f32;
1883}
1884extern "C" {
1885 pub fn __y0f(arg1: f32) -> f32;
1886}
1887extern "C" {
1888 pub fn y1f(arg1: f32) -> f32;
1889}
1890extern "C" {
1891 pub fn __y1f(arg1: f32) -> f32;
1892}
1893extern "C" {
1894 pub fn ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
1895}
1896extern "C" {
1897 pub fn __ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
1898}
1899extern "C" {
1900 pub fn erff(arg1: f32) -> f32;
1901}
1902extern "C" {
1903 pub fn __erff(arg1: f32) -> f32;
1904}
1905extern "C" {
1906 pub fn erfcf(arg1: f32) -> f32;
1907}
1908extern "C" {
1909 pub fn __erfcf(arg1: f32) -> f32;
1910}
1911extern "C" {
1912 pub fn lgammaf(arg1: f32) -> f32;
1913}
1914extern "C" {
1915 pub fn __lgammaf(arg1: f32) -> f32;
1916}
1917extern "C" {
1918 pub fn tgammaf(arg1: f32) -> f32;
1919}
1920extern "C" {
1921 pub fn __tgammaf(arg1: f32) -> f32;
1922}
1923extern "C" {
1924 pub fn gammaf(arg1: f32) -> f32;
1925}
1926extern "C" {
1927 pub fn __gammaf(arg1: f32) -> f32;
1928}
1929extern "C" {
1930 pub fn lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32;
1931}
1932extern "C" {
1933 pub fn __lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32;
1934}
1935extern "C" {
1936 pub fn rintf(__x: f32) -> f32;
1937}
1938extern "C" {
1939 pub fn __rintf(__x: f32) -> f32;
1940}
1941extern "C" {
1942 pub fn nextafterf(__x: f32, __y: f32) -> f32;
1943}
1944extern "C" {
1945 pub fn __nextafterf(__x: f32, __y: f32) -> f32;
1946}
1947extern "C" {
1948 pub fn nexttowardf(__x: f32, __y: u128) -> f32;
1949}
1950extern "C" {
1951 pub fn __nexttowardf(__x: f32, __y: u128) -> f32;
1952}
1953extern "C" {
1954 pub fn remainderf(__x: f32, __y: f32) -> f32;
1955}
1956extern "C" {
1957 pub fn __remainderf(__x: f32, __y: f32) -> f32;
1958}
1959extern "C" {
1960 pub fn scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32;
1961}
1962extern "C" {
1963 pub fn __scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32;
1964}
1965extern "C" {
1966 pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int;
1967}
1968extern "C" {
1969 pub fn __ilogbf(__x: f32) -> ::std::os::raw::c_int;
1970}
1971extern "C" {
1972 pub fn scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32;
1973}
1974extern "C" {
1975 pub fn __scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32;
1976}
1977extern "C" {
1978 pub fn nearbyintf(__x: f32) -> f32;
1979}
1980extern "C" {
1981 pub fn __nearbyintf(__x: f32) -> f32;
1982}
1983extern "C" {
1984 pub fn roundf(__x: f32) -> f32;
1985}
1986extern "C" {
1987 pub fn __roundf(__x: f32) -> f32;
1988}
1989extern "C" {
1990 pub fn truncf(__x: f32) -> f32;
1991}
1992extern "C" {
1993 pub fn __truncf(__x: f32) -> f32;
1994}
1995extern "C" {
1996 pub fn remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32;
1997}
1998extern "C" {
1999 pub fn __remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32;
2000}
2001extern "C" {
2002 pub fn lrintf(__x: f32) -> ::std::os::raw::c_long;
2003}
2004extern "C" {
2005 pub fn __lrintf(__x: f32) -> ::std::os::raw::c_long;
2006}
2007extern "C" {
2008 pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong;
2009}
2010extern "C" {
2011 pub fn __llrintf(__x: f32) -> ::std::os::raw::c_longlong;
2012}
2013extern "C" {
2014 pub fn lroundf(__x: f32) -> ::std::os::raw::c_long;
2015}
2016extern "C" {
2017 pub fn __lroundf(__x: f32) -> ::std::os::raw::c_long;
2018}
2019extern "C" {
2020 pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong;
2021}
2022extern "C" {
2023 pub fn __llroundf(__x: f32) -> ::std::os::raw::c_longlong;
2024}
2025extern "C" {
2026 pub fn fdimf(__x: f32, __y: f32) -> f32;
2027}
2028extern "C" {
2029 pub fn __fdimf(__x: f32, __y: f32) -> f32;
2030}
2031extern "C" {
2032 pub fn fmaxf(__x: f32, __y: f32) -> f32;
2033}
2034extern "C" {
2035 pub fn __fmaxf(__x: f32, __y: f32) -> f32;
2036}
2037extern "C" {
2038 pub fn fminf(__x: f32, __y: f32) -> f32;
2039}
2040extern "C" {
2041 pub fn __fminf(__x: f32, __y: f32) -> f32;
2042}
2043extern "C" {
2044 pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32;
2045}
2046extern "C" {
2047 pub fn __fmaf(__x: f32, __y: f32, __z: f32) -> f32;
2048}
2049extern "C" {
2050 pub fn scalbf(__x: f32, __n: f32) -> f32;
2051}
2052extern "C" {
2053 pub fn __scalbf(__x: f32, __n: f32) -> f32;
2054}
2055extern "C" {
2056 pub fn __fpclassifyl(__value: u128) -> ::std::os::raw::c_int;
2057}
2058extern "C" {
2059 pub fn __signbitl(__value: u128) -> ::std::os::raw::c_int;
2060}
2061extern "C" {
2062 pub fn __isinfl(__value: u128) -> ::std::os::raw::c_int;
2063}
2064extern "C" {
2065 pub fn __finitel(__value: u128) -> ::std::os::raw::c_int;
2066}
2067extern "C" {
2068 pub fn __isnanl(__value: u128) -> ::std::os::raw::c_int;
2069}
2070extern "C" {
2071 pub fn __iseqsigl(__x: u128, __y: u128) -> ::std::os::raw::c_int;
2072}
2073extern "C" {
2074 pub fn __issignalingl(__value: u128) -> ::std::os::raw::c_int;
2075}
2076extern "C" {
2077 pub fn acosl(__x: u128) -> u128;
2078}
2079extern "C" {
2080 pub fn __acosl(__x: u128) -> u128;
2081}
2082extern "C" {
2083 pub fn asinl(__x: u128) -> u128;
2084}
2085extern "C" {
2086 pub fn __asinl(__x: u128) -> u128;
2087}
2088extern "C" {
2089 pub fn atanl(__x: u128) -> u128;
2090}
2091extern "C" {
2092 pub fn __atanl(__x: u128) -> u128;
2093}
2094extern "C" {
2095 pub fn atan2l(__y: u128, __x: u128) -> u128;
2096}
2097extern "C" {
2098 pub fn __atan2l(__y: u128, __x: u128) -> u128;
2099}
2100extern "C" {
2101 pub fn cosl(__x: u128) -> u128;
2102}
2103extern "C" {
2104 pub fn __cosl(__x: u128) -> u128;
2105}
2106extern "C" {
2107 pub fn sinl(__x: u128) -> u128;
2108}
2109extern "C" {
2110 pub fn __sinl(__x: u128) -> u128;
2111}
2112extern "C" {
2113 pub fn tanl(__x: u128) -> u128;
2114}
2115extern "C" {
2116 pub fn __tanl(__x: u128) -> u128;
2117}
2118extern "C" {
2119 pub fn coshl(__x: u128) -> u128;
2120}
2121extern "C" {
2122 pub fn __coshl(__x: u128) -> u128;
2123}
2124extern "C" {
2125 pub fn sinhl(__x: u128) -> u128;
2126}
2127extern "C" {
2128 pub fn __sinhl(__x: u128) -> u128;
2129}
2130extern "C" {
2131 pub fn tanhl(__x: u128) -> u128;
2132}
2133extern "C" {
2134 pub fn __tanhl(__x: u128) -> u128;
2135}
2136extern "C" {
2137 pub fn acoshl(__x: u128) -> u128;
2138}
2139extern "C" {
2140 pub fn __acoshl(__x: u128) -> u128;
2141}
2142extern "C" {
2143 pub fn asinhl(__x: u128) -> u128;
2144}
2145extern "C" {
2146 pub fn __asinhl(__x: u128) -> u128;
2147}
2148extern "C" {
2149 pub fn atanhl(__x: u128) -> u128;
2150}
2151extern "C" {
2152 pub fn __atanhl(__x: u128) -> u128;
2153}
2154extern "C" {
2155 pub fn expl(__x: u128) -> u128;
2156}
2157extern "C" {
2158 pub fn __expl(__x: u128) -> u128;
2159}
2160extern "C" {
2161 pub fn frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128;
2162}
2163extern "C" {
2164 pub fn __frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128;
2165}
2166extern "C" {
2167 pub fn ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
2168}
2169extern "C" {
2170 pub fn __ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
2171}
2172extern "C" {
2173 pub fn logl(__x: u128) -> u128;
2174}
2175extern "C" {
2176 pub fn __logl(__x: u128) -> u128;
2177}
2178extern "C" {
2179 pub fn log10l(__x: u128) -> u128;
2180}
2181extern "C" {
2182 pub fn __log10l(__x: u128) -> u128;
2183}
2184extern "C" {
2185 pub fn modfl(__x: u128, __iptr: *mut u128) -> u128;
2186}
2187extern "C" {
2188 pub fn __modfl(__x: u128, __iptr: *mut u128) -> u128;
2189}
2190extern "C" {
2191 pub fn expm1l(__x: u128) -> u128;
2192}
2193extern "C" {
2194 pub fn __expm1l(__x: u128) -> u128;
2195}
2196extern "C" {
2197 pub fn log1pl(__x: u128) -> u128;
2198}
2199extern "C" {
2200 pub fn __log1pl(__x: u128) -> u128;
2201}
2202extern "C" {
2203 pub fn logbl(__x: u128) -> u128;
2204}
2205extern "C" {
2206 pub fn __logbl(__x: u128) -> u128;
2207}
2208extern "C" {
2209 pub fn exp2l(__x: u128) -> u128;
2210}
2211extern "C" {
2212 pub fn __exp2l(__x: u128) -> u128;
2213}
2214extern "C" {
2215 pub fn log2l(__x: u128) -> u128;
2216}
2217extern "C" {
2218 pub fn __log2l(__x: u128) -> u128;
2219}
2220extern "C" {
2221 pub fn powl(__x: u128, __y: u128) -> u128;
2222}
2223extern "C" {
2224 pub fn __powl(__x: u128, __y: u128) -> u128;
2225}
2226extern "C" {
2227 pub fn sqrtl(__x: u128) -> u128;
2228}
2229extern "C" {
2230 pub fn __sqrtl(__x: u128) -> u128;
2231}
2232extern "C" {
2233 pub fn hypotl(__x: u128, __y: u128) -> u128;
2234}
2235extern "C" {
2236 pub fn __hypotl(__x: u128, __y: u128) -> u128;
2237}
2238extern "C" {
2239 pub fn cbrtl(__x: u128) -> u128;
2240}
2241extern "C" {
2242 pub fn __cbrtl(__x: u128) -> u128;
2243}
2244extern "C" {
2245 pub fn ceill(__x: u128) -> u128;
2246}
2247extern "C" {
2248 pub fn __ceill(__x: u128) -> u128;
2249}
2250extern "C" {
2251 pub fn fabsl(__x: u128) -> u128;
2252}
2253extern "C" {
2254 pub fn __fabsl(__x: u128) -> u128;
2255}
2256extern "C" {
2257 pub fn floorl(__x: u128) -> u128;
2258}
2259extern "C" {
2260 pub fn __floorl(__x: u128) -> u128;
2261}
2262extern "C" {
2263 pub fn fmodl(__x: u128, __y: u128) -> u128;
2264}
2265extern "C" {
2266 pub fn __fmodl(__x: u128, __y: u128) -> u128;
2267}
2268extern "C" {
2269 pub fn isinfl(__value: u128) -> ::std::os::raw::c_int;
2270}
2271extern "C" {
2272 pub fn finitel(__value: u128) -> ::std::os::raw::c_int;
2273}
2274extern "C" {
2275 pub fn dreml(__x: u128, __y: u128) -> u128;
2276}
2277extern "C" {
2278 pub fn __dreml(__x: u128, __y: u128) -> u128;
2279}
2280extern "C" {
2281 pub fn significandl(__x: u128) -> u128;
2282}
2283extern "C" {
2284 pub fn __significandl(__x: u128) -> u128;
2285}
2286extern "C" {
2287 pub fn copysignl(__x: u128, __y: u128) -> u128;
2288}
2289extern "C" {
2290 pub fn __copysignl(__x: u128, __y: u128) -> u128;
2291}
2292extern "C" {
2293 pub fn nanl(__tagb: *const ::std::os::raw::c_char) -> u128;
2294}
2295extern "C" {
2296 pub fn __nanl(__tagb: *const ::std::os::raw::c_char) -> u128;
2297}
2298extern "C" {
2299 pub fn isnanl(__value: u128) -> ::std::os::raw::c_int;
2300}
2301extern "C" {
2302 pub fn j0l(arg1: u128) -> u128;
2303}
2304extern "C" {
2305 pub fn __j0l(arg1: u128) -> u128;
2306}
2307extern "C" {
2308 pub fn j1l(arg1: u128) -> u128;
2309}
2310extern "C" {
2311 pub fn __j1l(arg1: u128) -> u128;
2312}
2313extern "C" {
2314 pub fn jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
2315}
2316extern "C" {
2317 pub fn __jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
2318}
2319extern "C" {
2320 pub fn y0l(arg1: u128) -> u128;
2321}
2322extern "C" {
2323 pub fn __y0l(arg1: u128) -> u128;
2324}
2325extern "C" {
2326 pub fn y1l(arg1: u128) -> u128;
2327}
2328extern "C" {
2329 pub fn __y1l(arg1: u128) -> u128;
2330}
2331extern "C" {
2332 pub fn ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
2333}
2334extern "C" {
2335 pub fn __ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
2336}
2337extern "C" {
2338 pub fn erfl(arg1: u128) -> u128;
2339}
2340extern "C" {
2341 pub fn __erfl(arg1: u128) -> u128;
2342}
2343extern "C" {
2344 pub fn erfcl(arg1: u128) -> u128;
2345}
2346extern "C" {
2347 pub fn __erfcl(arg1: u128) -> u128;
2348}
2349extern "C" {
2350 pub fn lgammal(arg1: u128) -> u128;
2351}
2352extern "C" {
2353 pub fn __lgammal(arg1: u128) -> u128;
2354}
2355extern "C" {
2356 pub fn tgammal(arg1: u128) -> u128;
2357}
2358extern "C" {
2359 pub fn __tgammal(arg1: u128) -> u128;
2360}
2361extern "C" {
2362 pub fn gammal(arg1: u128) -> u128;
2363}
2364extern "C" {
2365 pub fn __gammal(arg1: u128) -> u128;
2366}
2367extern "C" {
2368 pub fn lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128;
2369}
2370extern "C" {
2371 pub fn __lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128;
2372}
2373extern "C" {
2374 pub fn rintl(__x: u128) -> u128;
2375}
2376extern "C" {
2377 pub fn __rintl(__x: u128) -> u128;
2378}
2379extern "C" {
2380 pub fn nextafterl(__x: u128, __y: u128) -> u128;
2381}
2382extern "C" {
2383 pub fn __nextafterl(__x: u128, __y: u128) -> u128;
2384}
2385extern "C" {
2386 pub fn nexttowardl(__x: u128, __y: u128) -> u128;
2387}
2388extern "C" {
2389 pub fn __nexttowardl(__x: u128, __y: u128) -> u128;
2390}
2391extern "C" {
2392 pub fn remainderl(__x: u128, __y: u128) -> u128;
2393}
2394extern "C" {
2395 pub fn __remainderl(__x: u128, __y: u128) -> u128;
2396}
2397extern "C" {
2398 pub fn scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128;
2399}
2400extern "C" {
2401 pub fn __scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128;
2402}
2403extern "C" {
2404 pub fn ilogbl(__x: u128) -> ::std::os::raw::c_int;
2405}
2406extern "C" {
2407 pub fn __ilogbl(__x: u128) -> ::std::os::raw::c_int;
2408}
2409extern "C" {
2410 pub fn scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128;
2411}
2412extern "C" {
2413 pub fn __scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128;
2414}
2415extern "C" {
2416 pub fn nearbyintl(__x: u128) -> u128;
2417}
2418extern "C" {
2419 pub fn __nearbyintl(__x: u128) -> u128;
2420}
2421extern "C" {
2422 pub fn roundl(__x: u128) -> u128;
2423}
2424extern "C" {
2425 pub fn __roundl(__x: u128) -> u128;
2426}
2427extern "C" {
2428 pub fn truncl(__x: u128) -> u128;
2429}
2430extern "C" {
2431 pub fn __truncl(__x: u128) -> u128;
2432}
2433extern "C" {
2434 pub fn remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128;
2435}
2436extern "C" {
2437 pub fn __remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128;
2438}
2439extern "C" {
2440 pub fn lrintl(__x: u128) -> ::std::os::raw::c_long;
2441}
2442extern "C" {
2443 pub fn __lrintl(__x: u128) -> ::std::os::raw::c_long;
2444}
2445extern "C" {
2446 pub fn llrintl(__x: u128) -> ::std::os::raw::c_longlong;
2447}
2448extern "C" {
2449 pub fn __llrintl(__x: u128) -> ::std::os::raw::c_longlong;
2450}
2451extern "C" {
2452 pub fn lroundl(__x: u128) -> ::std::os::raw::c_long;
2453}
2454extern "C" {
2455 pub fn __lroundl(__x: u128) -> ::std::os::raw::c_long;
2456}
2457extern "C" {
2458 pub fn llroundl(__x: u128) -> ::std::os::raw::c_longlong;
2459}
2460extern "C" {
2461 pub fn __llroundl(__x: u128) -> ::std::os::raw::c_longlong;
2462}
2463extern "C" {
2464 pub fn fdiml(__x: u128, __y: u128) -> u128;
2465}
2466extern "C" {
2467 pub fn __fdiml(__x: u128, __y: u128) -> u128;
2468}
2469extern "C" {
2470 pub fn fmaxl(__x: u128, __y: u128) -> u128;
2471}
2472extern "C" {
2473 pub fn __fmaxl(__x: u128, __y: u128) -> u128;
2474}
2475extern "C" {
2476 pub fn fminl(__x: u128, __y: u128) -> u128;
2477}
2478extern "C" {
2479 pub fn __fminl(__x: u128, __y: u128) -> u128;
2480}
2481extern "C" {
2482 pub fn fmal(__x: u128, __y: u128, __z: u128) -> u128;
2483}
2484extern "C" {
2485 pub fn __fmal(__x: u128, __y: u128, __z: u128) -> u128;
2486}
2487extern "C" {
2488 pub fn scalbl(__x: u128, __n: u128) -> u128;
2489}
2490extern "C" {
2491 pub fn __scalbl(__x: u128, __n: u128) -> u128;
2492}
2493extern "C" {
2494 #[link_name = "\u{1}signgam"]
2495 pub static mut signgam: ::std::os::raw::c_int;
2496}
2497pub type va_list = __builtin_va_list;
2498pub type __gnuc_va_list = __builtin_va_list;
2499#[repr(C)]
2500#[derive(Copy, Clone)]
2501pub struct __mbstate_t {
2502 pub __count: ::std::os::raw::c_int,
2503 pub __value: __mbstate_t__bindgen_ty_1,
2504}
2505#[repr(C)]
2506#[derive(Copy, Clone)]
2507pub union __mbstate_t__bindgen_ty_1 {
2508 pub __wch: ::std::os::raw::c_uint,
2509 pub __wchb: [::std::os::raw::c_char; 4usize],
2510 _bindgen_union_align: u32,
2511}
2512#[repr(C)]
2513#[derive(Copy, Clone)]
2514pub struct _G_fpos_t {
2515 pub __pos: __off_t,
2516 pub __state: __mbstate_t,
2517}
2518pub type __fpos_t = _G_fpos_t;
2519#[repr(C)]
2520#[derive(Copy, Clone)]
2521pub struct _G_fpos64_t {
2522 pub __pos: __off64_t,
2523 pub __state: __mbstate_t,
2524}
2525pub type __fpos64_t = _G_fpos64_t;
2526pub type __FILE = _IO_FILE;
2527pub type FILE = _IO_FILE;
2528#[repr(C)]
2529#[derive(Debug, Copy, Clone)]
2530pub struct _IO_marker {
2531 _unused: [u8; 0],
2532}
2533#[repr(C)]
2534#[derive(Debug, Copy, Clone)]
2535pub struct _IO_codecvt {
2536 _unused: [u8; 0],
2537}
2538#[repr(C)]
2539#[derive(Debug, Copy, Clone)]
2540pub struct _IO_wide_data {
2541 _unused: [u8; 0],
2542}
2543pub type _IO_lock_t = ::std::os::raw::c_void;
2544#[repr(C)]
2545#[derive(Debug, Copy, Clone)]
2546pub struct _IO_FILE {
2547 pub _flags: ::std::os::raw::c_int,
2548 pub _IO_read_ptr: *mut ::std::os::raw::c_char,
2549 pub _IO_read_end: *mut ::std::os::raw::c_char,
2550 pub _IO_read_base: *mut ::std::os::raw::c_char,
2551 pub _IO_write_base: *mut ::std::os::raw::c_char,
2552 pub _IO_write_ptr: *mut ::std::os::raw::c_char,
2553 pub _IO_write_end: *mut ::std::os::raw::c_char,
2554 pub _IO_buf_base: *mut ::std::os::raw::c_char,
2555 pub _IO_buf_end: *mut ::std::os::raw::c_char,
2556 pub _IO_save_base: *mut ::std::os::raw::c_char,
2557 pub _IO_backup_base: *mut ::std::os::raw::c_char,
2558 pub _IO_save_end: *mut ::std::os::raw::c_char,
2559 pub _markers: *mut _IO_marker,
2560 pub _chain: *mut _IO_FILE,
2561 pub _fileno: ::std::os::raw::c_int,
2562 pub _flags2: ::std::os::raw::c_int,
2563 pub _old_offset: __off_t,
2564 pub _cur_column: ::std::os::raw::c_ushort,
2565 pub _vtable_offset: ::std::os::raw::c_schar,
2566 pub _shortbuf: [::std::os::raw::c_char; 1usize],
2567 pub _lock: *mut _IO_lock_t,
2568 pub _offset: __off64_t,
2569 pub _codecvt: *mut _IO_codecvt,
2570 pub _wide_data: *mut _IO_wide_data,
2571 pub _freeres_list: *mut _IO_FILE,
2572 pub _freeres_buf: *mut ::std::os::raw::c_void,
2573 pub __pad5: usize,
2574 pub _mode: ::std::os::raw::c_int,
2575 pub _unused2: [::std::os::raw::c_char; 20usize],
2576}
2577pub type off_t = __off_t;
2578pub type fpos_t = __fpos_t;
2579extern "C" {
2580 #[link_name = "\u{1}stdin"]
2581 pub static mut stdin: *mut FILE;
2582}
2583extern "C" {
2584 #[link_name = "\u{1}stdout"]
2585 pub static mut stdout: *mut FILE;
2586}
2587extern "C" {
2588 #[link_name = "\u{1}stderr"]
2589 pub static mut stderr: *mut FILE;
2590}
2591extern "C" {
2592 pub fn remove(__filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
2593}
2594extern "C" {
2595 pub fn rename(
2596 __old: *const ::std::os::raw::c_char,
2597 __new: *const ::std::os::raw::c_char,
2598 ) -> ::std::os::raw::c_int;
2599}
2600extern "C" {
2601 pub fn renameat(
2602 __oldfd: ::std::os::raw::c_int,
2603 __old: *const ::std::os::raw::c_char,
2604 __newfd: ::std::os::raw::c_int,
2605 __new: *const ::std::os::raw::c_char,
2606 ) -> ::std::os::raw::c_int;
2607}
2608extern "C" {
2609 pub fn tmpfile() -> *mut FILE;
2610}
2611extern "C" {
2612 pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
2613}
2614extern "C" {
2615 pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
2616}
2617extern "C" {
2618 pub fn tempnam(
2619 __dir: *const ::std::os::raw::c_char,
2620 __pfx: *const ::std::os::raw::c_char,
2621 ) -> *mut ::std::os::raw::c_char;
2622}
2623extern "C" {
2624 pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
2625}
2626extern "C" {
2627 pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int;
2628}
2629extern "C" {
2630 pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
2631}
2632extern "C" {
2633 pub fn fopen(
2634 __filename: *const ::std::os::raw::c_char,
2635 __modes: *const ::std::os::raw::c_char,
2636 ) -> *mut FILE;
2637}
2638extern "C" {
2639 pub fn freopen(
2640 __filename: *const ::std::os::raw::c_char,
2641 __modes: *const ::std::os::raw::c_char,
2642 __stream: *mut FILE,
2643 ) -> *mut FILE;
2644}
2645extern "C" {
2646 pub fn fdopen(__fd: ::std::os::raw::c_int, __modes: *const ::std::os::raw::c_char)
2647 -> *mut FILE;
2648}
2649extern "C" {
2650 pub fn fmemopen(
2651 __s: *mut ::std::os::raw::c_void,
2652 __len: usize,
2653 __modes: *const ::std::os::raw::c_char,
2654 ) -> *mut FILE;
2655}
2656extern "C" {
2657 pub fn open_memstream(
2658 __bufloc: *mut *mut ::std::os::raw::c_char,
2659 __sizeloc: *mut usize,
2660 ) -> *mut FILE;
2661}
2662extern "C" {
2663 pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char);
2664}
2665extern "C" {
2666 pub fn setvbuf(
2667 __stream: *mut FILE,
2668 __buf: *mut ::std::os::raw::c_char,
2669 __modes: ::std::os::raw::c_int,
2670 __n: usize,
2671 ) -> ::std::os::raw::c_int;
2672}
2673extern "C" {
2674 pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: usize);
2675}
2676extern "C" {
2677 pub fn setlinebuf(__stream: *mut FILE);
2678}
2679extern "C" {
2680 pub fn fprintf(
2681 __stream: *mut FILE,
2682 __format: *const ::std::os::raw::c_char,
2683 ...
2684 ) -> ::std::os::raw::c_int;
2685}
2686extern "C" {
2687 pub fn printf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
2688}
2689extern "C" {
2690 pub fn sprintf(
2691 __s: *mut ::std::os::raw::c_char,
2692 __format: *const ::std::os::raw::c_char,
2693 ...
2694 ) -> ::std::os::raw::c_int;
2695}
2696extern "C" {
2697 pub fn vfprintf(
2698 __s: *mut FILE,
2699 __format: *const ::std::os::raw::c_char,
2700 __arg: *mut __va_list_tag,
2701 ) -> ::std::os::raw::c_int;
2702}
2703extern "C" {
2704 pub fn vprintf(
2705 __format: *const ::std::os::raw::c_char,
2706 __arg: *mut __va_list_tag,
2707 ) -> ::std::os::raw::c_int;
2708}
2709extern "C" {
2710 pub fn vsprintf(
2711 __s: *mut ::std::os::raw::c_char,
2712 __format: *const ::std::os::raw::c_char,
2713 __arg: *mut __va_list_tag,
2714 ) -> ::std::os::raw::c_int;
2715}
2716extern "C" {
2717 pub fn snprintf(
2718 __s: *mut ::std::os::raw::c_char,
2719 __maxlen: ::std::os::raw::c_ulong,
2720 __format: *const ::std::os::raw::c_char,
2721 ...
2722 ) -> ::std::os::raw::c_int;
2723}
2724extern "C" {
2725 pub fn vsnprintf(
2726 __s: *mut ::std::os::raw::c_char,
2727 __maxlen: ::std::os::raw::c_ulong,
2728 __format: *const ::std::os::raw::c_char,
2729 __arg: *mut __va_list_tag,
2730 ) -> ::std::os::raw::c_int;
2731}
2732extern "C" {
2733 pub fn vdprintf(
2734 __fd: ::std::os::raw::c_int,
2735 __fmt: *const ::std::os::raw::c_char,
2736 __arg: *mut __va_list_tag,
2737 ) -> ::std::os::raw::c_int;
2738}
2739extern "C" {
2740 pub fn dprintf(
2741 __fd: ::std::os::raw::c_int,
2742 __fmt: *const ::std::os::raw::c_char,
2743 ...
2744 ) -> ::std::os::raw::c_int;
2745}
2746extern "C" {
2747 pub fn fscanf(
2748 __stream: *mut FILE,
2749 __format: *const ::std::os::raw::c_char,
2750 ...
2751 ) -> ::std::os::raw::c_int;
2752}
2753extern "C" {
2754 pub fn scanf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
2755}
2756extern "C" {
2757 pub fn sscanf(
2758 __s: *const ::std::os::raw::c_char,
2759 __format: *const ::std::os::raw::c_char,
2760 ...
2761 ) -> ::std::os::raw::c_int;
2762}
2763extern "C" {
2764 #[link_name = "\u{1}__isoc99_fscanf"]
2765 pub fn fscanf1(
2766 __stream: *mut FILE,
2767 __format: *const ::std::os::raw::c_char,
2768 ...
2769 ) -> ::std::os::raw::c_int;
2770}
2771extern "C" {
2772 #[link_name = "\u{1}__isoc99_scanf"]
2773 pub fn scanf1(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
2774}
2775extern "C" {
2776 #[link_name = "\u{1}__isoc99_sscanf"]
2777 pub fn sscanf1(
2778 __s: *const ::std::os::raw::c_char,
2779 __format: *const ::std::os::raw::c_char,
2780 ...
2781 ) -> ::std::os::raw::c_int;
2782}
2783extern "C" {
2784 pub fn vfscanf(
2785 __s: *mut FILE,
2786 __format: *const ::std::os::raw::c_char,
2787 __arg: *mut __va_list_tag,
2788 ) -> ::std::os::raw::c_int;
2789}
2790extern "C" {
2791 pub fn vscanf(
2792 __format: *const ::std::os::raw::c_char,
2793 __arg: *mut __va_list_tag,
2794 ) -> ::std::os::raw::c_int;
2795}
2796extern "C" {
2797 pub fn vsscanf(
2798 __s: *const ::std::os::raw::c_char,
2799 __format: *const ::std::os::raw::c_char,
2800 __arg: *mut __va_list_tag,
2801 ) -> ::std::os::raw::c_int;
2802}
2803extern "C" {
2804 #[link_name = "\u{1}__isoc99_vfscanf"]
2805 pub fn vfscanf1(
2806 __s: *mut FILE,
2807 __format: *const ::std::os::raw::c_char,
2808 __arg: *mut __va_list_tag,
2809 ) -> ::std::os::raw::c_int;
2810}
2811extern "C" {
2812 #[link_name = "\u{1}__isoc99_vscanf"]
2813 pub fn vscanf1(
2814 __format: *const ::std::os::raw::c_char,
2815 __arg: *mut __va_list_tag,
2816 ) -> ::std::os::raw::c_int;
2817}
2818extern "C" {
2819 #[link_name = "\u{1}__isoc99_vsscanf"]
2820 pub fn vsscanf1(
2821 __s: *const ::std::os::raw::c_char,
2822 __format: *const ::std::os::raw::c_char,
2823 __arg: *mut __va_list_tag,
2824 ) -> ::std::os::raw::c_int;
2825}
2826extern "C" {
2827 pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int;
2828}
2829extern "C" {
2830 pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int;
2831}
2832extern "C" {
2833 pub fn getchar() -> ::std::os::raw::c_int;
2834}
2835extern "C" {
2836 pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
2837}
2838extern "C" {
2839 pub fn getchar_unlocked() -> ::std::os::raw::c_int;
2840}
2841extern "C" {
2842 pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
2843}
2844extern "C" {
2845 pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
2846}
2847extern "C" {
2848 pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
2849}
2850extern "C" {
2851 pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2852}
2853extern "C" {
2854 pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE)
2855 -> ::std::os::raw::c_int;
2856}
2857extern "C" {
2858 pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
2859}
2860extern "C" {
2861 pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2862}
2863extern "C" {
2864 pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int;
2865}
2866extern "C" {
2867 pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
2868}
2869extern "C" {
2870 pub fn fgets(
2871 __s: *mut ::std::os::raw::c_char,
2872 __n: ::std::os::raw::c_int,
2873 __stream: *mut FILE,
2874 ) -> *mut ::std::os::raw::c_char;
2875}
2876extern "C" {
2877 pub fn __getdelim(
2878 __lineptr: *mut *mut ::std::os::raw::c_char,
2879 __n: *mut usize,
2880 __delimiter: ::std::os::raw::c_int,
2881 __stream: *mut FILE,
2882 ) -> __ssize_t;
2883}
2884extern "C" {
2885 pub fn getdelim(
2886 __lineptr: *mut *mut ::std::os::raw::c_char,
2887 __n: *mut usize,
2888 __delimiter: ::std::os::raw::c_int,
2889 __stream: *mut FILE,
2890 ) -> __ssize_t;
2891}
2892extern "C" {
2893 pub fn getline(
2894 __lineptr: *mut *mut ::std::os::raw::c_char,
2895 __n: *mut usize,
2896 __stream: *mut FILE,
2897 ) -> __ssize_t;
2898}
2899extern "C" {
2900 pub fn fputs(__s: *const ::std::os::raw::c_char, __stream: *mut FILE) -> ::std::os::raw::c_int;
2901}
2902extern "C" {
2903 pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
2904}
2905extern "C" {
2906 pub fn ungetc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
2907}
2908extern "C" {
2909 pub fn fread(
2910 __ptr: *mut ::std::os::raw::c_void,
2911 __size: ::std::os::raw::c_ulong,
2912 __n: ::std::os::raw::c_ulong,
2913 __stream: *mut FILE,
2914 ) -> ::std::os::raw::c_ulong;
2915}
2916extern "C" {
2917 pub fn fwrite(
2918 __ptr: *const ::std::os::raw::c_void,
2919 __size: ::std::os::raw::c_ulong,
2920 __n: ::std::os::raw::c_ulong,
2921 __s: *mut FILE,
2922 ) -> ::std::os::raw::c_ulong;
2923}
2924extern "C" {
2925 pub fn fread_unlocked(
2926 __ptr: *mut ::std::os::raw::c_void,
2927 __size: usize,
2928 __n: usize,
2929 __stream: *mut FILE,
2930 ) -> usize;
2931}
2932extern "C" {
2933 pub fn fwrite_unlocked(
2934 __ptr: *const ::std::os::raw::c_void,
2935 __size: usize,
2936 __n: usize,
2937 __stream: *mut FILE,
2938 ) -> usize;
2939}
2940extern "C" {
2941 pub fn fseek(
2942 __stream: *mut FILE,
2943 __off: ::std::os::raw::c_long,
2944 __whence: ::std::os::raw::c_int,
2945 ) -> ::std::os::raw::c_int;
2946}
2947extern "C" {
2948 pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long;
2949}
2950extern "C" {
2951 pub fn rewind(__stream: *mut FILE);
2952}
2953extern "C" {
2954 pub fn fseeko(
2955 __stream: *mut FILE,
2956 __off: __off_t,
2957 __whence: ::std::os::raw::c_int,
2958 ) -> ::std::os::raw::c_int;
2959}
2960extern "C" {
2961 pub fn ftello(__stream: *mut FILE) -> __off_t;
2962}
2963extern "C" {
2964 pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
2965}
2966extern "C" {
2967 pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
2968}
2969extern "C" {
2970 pub fn clearerr(__stream: *mut FILE);
2971}
2972extern "C" {
2973 pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int;
2974}
2975extern "C" {
2976 pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int;
2977}
2978extern "C" {
2979 pub fn clearerr_unlocked(__stream: *mut FILE);
2980}
2981extern "C" {
2982 pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
2983}
2984extern "C" {
2985 pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
2986}
2987extern "C" {
2988 pub fn perror(__s: *const ::std::os::raw::c_char);
2989}
2990extern "C" {
2991 #[link_name = "\u{1}sys_nerr"]
2992 pub static mut sys_nerr: ::std::os::raw::c_int;
2993}
2994extern "C" {
2995 #[link_name = "\u{1}sys_errlist"]
2996 pub static mut sys_errlist: [*const ::std::os::raw::c_char; 0usize];
2997}
2998extern "C" {
2999 pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int;
3000}
3001extern "C" {
3002 pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
3003}
3004extern "C" {
3005 pub fn popen(
3006 __command: *const ::std::os::raw::c_char,
3007 __modes: *const ::std::os::raw::c_char,
3008 ) -> *mut FILE;
3009}
3010extern "C" {
3011 pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
3012}
3013extern "C" {
3014 pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3015}
3016extern "C" {
3017 pub fn flockfile(__stream: *mut FILE);
3018}
3019extern "C" {
3020 pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int;
3021}
3022extern "C" {
3023 pub fn funlockfile(__stream: *mut FILE);
3024}
3025extern "C" {
3026 pub fn __uflow(arg1: *mut FILE) -> ::std::os::raw::c_int;
3027}
3028extern "C" {
3029 pub fn __overflow(arg1: *mut FILE, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3030}
3031pub type wchar_t = ::std::os::raw::c_int;
3032#[repr(C)]
3033#[derive(Debug, Copy, Clone)]
3034pub struct div_t {
3035 pub quot: ::std::os::raw::c_int,
3036 pub rem: ::std::os::raw::c_int,
3037}
3038#[repr(C)]
3039#[derive(Debug, Copy, Clone)]
3040pub struct ldiv_t {
3041 pub quot: ::std::os::raw::c_long,
3042 pub rem: ::std::os::raw::c_long,
3043}
3044#[repr(C)]
3045#[derive(Debug, Copy, Clone)]
3046pub struct lldiv_t {
3047 pub quot: ::std::os::raw::c_longlong,
3048 pub rem: ::std::os::raw::c_longlong,
3049}
3050extern "C" {
3051 pub fn __ctype_get_mb_cur_max() -> usize;
3052}
3053extern "C" {
3054 pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64;
3055}
3056extern "C" {
3057 pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3058}
3059extern "C" {
3060 pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
3061}
3062extern "C" {
3063 pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
3064}
3065extern "C" {
3066 pub fn strtod(
3067 __nptr: *const ::std::os::raw::c_char,
3068 __endptr: *mut *mut ::std::os::raw::c_char,
3069 ) -> f64;
3070}
3071extern "C" {
3072 pub fn strtof(
3073 __nptr: *const ::std::os::raw::c_char,
3074 __endptr: *mut *mut ::std::os::raw::c_char,
3075 ) -> f32;
3076}
3077extern "C" {
3078 pub fn strtold(
3079 __nptr: *const ::std::os::raw::c_char,
3080 __endptr: *mut *mut ::std::os::raw::c_char,
3081 ) -> u128;
3082}
3083extern "C" {
3084 pub fn strtol(
3085 __nptr: *const ::std::os::raw::c_char,
3086 __endptr: *mut *mut ::std::os::raw::c_char,
3087 __base: ::std::os::raw::c_int,
3088 ) -> ::std::os::raw::c_long;
3089}
3090extern "C" {
3091 pub fn strtoul(
3092 __nptr: *const ::std::os::raw::c_char,
3093 __endptr: *mut *mut ::std::os::raw::c_char,
3094 __base: ::std::os::raw::c_int,
3095 ) -> ::std::os::raw::c_ulong;
3096}
3097extern "C" {
3098 pub fn strtoq(
3099 __nptr: *const ::std::os::raw::c_char,
3100 __endptr: *mut *mut ::std::os::raw::c_char,
3101 __base: ::std::os::raw::c_int,
3102 ) -> ::std::os::raw::c_longlong;
3103}
3104extern "C" {
3105 pub fn strtouq(
3106 __nptr: *const ::std::os::raw::c_char,
3107 __endptr: *mut *mut ::std::os::raw::c_char,
3108 __base: ::std::os::raw::c_int,
3109 ) -> ::std::os::raw::c_ulonglong;
3110}
3111extern "C" {
3112 pub fn strtoll(
3113 __nptr: *const ::std::os::raw::c_char,
3114 __endptr: *mut *mut ::std::os::raw::c_char,
3115 __base: ::std::os::raw::c_int,
3116 ) -> ::std::os::raw::c_longlong;
3117}
3118extern "C" {
3119 pub fn strtoull(
3120 __nptr: *const ::std::os::raw::c_char,
3121 __endptr: *mut *mut ::std::os::raw::c_char,
3122 __base: ::std::os::raw::c_int,
3123 ) -> ::std::os::raw::c_ulonglong;
3124}
3125extern "C" {
3126 pub fn l64a(__n: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
3127}
3128extern "C" {
3129 pub fn a64l(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
3130}
3131pub type u_char = __u_char;
3132pub type u_short = __u_short;
3133pub type u_int = __u_int;
3134pub type u_long = __u_long;
3135pub type quad_t = __quad_t;
3136pub type u_quad_t = __u_quad_t;
3137pub type fsid_t = __fsid_t;
3138pub type loff_t = __loff_t;
3139pub type ino_t = __ino_t;
3140pub type dev_t = __dev_t;
3141pub type gid_t = __gid_t;
3142pub type mode_t = __mode_t;
3143pub type nlink_t = __nlink_t;
3144pub type uid_t = __uid_t;
3145pub type pid_t = __pid_t;
3146pub type id_t = __id_t;
3147pub type daddr_t = __daddr_t;
3148pub type caddr_t = __caddr_t;
3149pub type key_t = __key_t;
3150pub type clock_t = __clock_t;
3151pub type clockid_t = __clockid_t;
3152pub type time_t = __time_t;
3153pub type timer_t = __timer_t;
3154pub type ulong = ::std::os::raw::c_ulong;
3155pub type ushort = ::std::os::raw::c_ushort;
3156pub type uint = ::std::os::raw::c_uint;
3157pub type u_int8_t = ::std::os::raw::c_uchar;
3158pub type u_int16_t = ::std::os::raw::c_ushort;
3159pub type u_int32_t = ::std::os::raw::c_uint;
3160pub type u_int64_t = ::std::os::raw::c_ulong;
3161pub type register_t = ::std::os::raw::c_long;
3162#[repr(C)]
3163#[derive(Debug, Copy, Clone)]
3164pub struct __sigset_t {
3165 pub __val: [::std::os::raw::c_ulong; 16usize],
3166}
3167pub type sigset_t = __sigset_t;
3168#[repr(C)]
3169#[derive(Debug, Copy, Clone)]
3170pub struct timeval {
3171 pub tv_sec: __time_t,
3172 pub tv_usec: __suseconds_t,
3173}
3174#[repr(C)]
3175#[derive(Debug, Copy, Clone)]
3176pub struct timespec {
3177 pub tv_sec: __time_t,
3178 pub tv_nsec: __syscall_slong_t,
3179}
3180pub type suseconds_t = __suseconds_t;
3181pub type __fd_mask = ::std::os::raw::c_long;
3182#[repr(C)]
3183#[derive(Debug, Copy, Clone)]
3184pub struct fd_set {
3185 pub __fds_bits: [__fd_mask; 16usize],
3186}
3187pub type fd_mask = __fd_mask;
3188extern "C" {
3189 pub fn select(
3190 __nfds: ::std::os::raw::c_int,
3191 __readfds: *mut fd_set,
3192 __writefds: *mut fd_set,
3193 __exceptfds: *mut fd_set,
3194 __timeout: *mut timeval,
3195 ) -> ::std::os::raw::c_int;
3196}
3197extern "C" {
3198 pub fn pselect(
3199 __nfds: ::std::os::raw::c_int,
3200 __readfds: *mut fd_set,
3201 __writefds: *mut fd_set,
3202 __exceptfds: *mut fd_set,
3203 __timeout: *const timespec,
3204 __sigmask: *const __sigset_t,
3205 ) -> ::std::os::raw::c_int;
3206}
3207pub type blksize_t = __blksize_t;
3208pub type blkcnt_t = __blkcnt_t;
3209pub type fsblkcnt_t = __fsblkcnt_t;
3210pub type fsfilcnt_t = __fsfilcnt_t;
3211#[repr(C)]
3212#[derive(Debug, Copy, Clone)]
3213pub struct __pthread_rwlock_arch_t {
3214 pub __readers: ::std::os::raw::c_uint,
3215 pub __writers: ::std::os::raw::c_uint,
3216 pub __wrphase_futex: ::std::os::raw::c_uint,
3217 pub __writers_futex: ::std::os::raw::c_uint,
3218 pub __pad3: ::std::os::raw::c_uint,
3219 pub __pad4: ::std::os::raw::c_uint,
3220 pub __cur_writer: ::std::os::raw::c_int,
3221 pub __shared: ::std::os::raw::c_int,
3222 pub __rwelision: ::std::os::raw::c_schar,
3223 pub __pad1: [::std::os::raw::c_uchar; 7usize],
3224 pub __pad2: ::std::os::raw::c_ulong,
3225 pub __flags: ::std::os::raw::c_uint,
3226}
3227#[repr(C)]
3228#[derive(Debug, Copy, Clone)]
3229pub struct __pthread_internal_list {
3230 pub __prev: *mut __pthread_internal_list,
3231 pub __next: *mut __pthread_internal_list,
3232}
3233pub type __pthread_list_t = __pthread_internal_list;
3234#[repr(C)]
3235#[derive(Debug, Copy, Clone)]
3236pub struct __pthread_mutex_s {
3237 pub __lock: ::std::os::raw::c_int,
3238 pub __count: ::std::os::raw::c_uint,
3239 pub __owner: ::std::os::raw::c_int,
3240 pub __nusers: ::std::os::raw::c_uint,
3241 pub __kind: ::std::os::raw::c_int,
3242 pub __spins: ::std::os::raw::c_short,
3243 pub __elision: ::std::os::raw::c_short,
3244 pub __list: __pthread_list_t,
3245}
3246#[repr(C)]
3247#[derive(Copy, Clone)]
3248pub struct __pthread_cond_s {
3249 pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1,
3250 pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2,
3251 pub __g_refs: [::std::os::raw::c_uint; 2usize],
3252 pub __g_size: [::std::os::raw::c_uint; 2usize],
3253 pub __g1_orig_size: ::std::os::raw::c_uint,
3254 pub __wrefs: ::std::os::raw::c_uint,
3255 pub __g_signals: [::std::os::raw::c_uint; 2usize],
3256}
3257#[repr(C)]
3258#[derive(Copy, Clone)]
3259pub union __pthread_cond_s__bindgen_ty_1 {
3260 pub __wseq: ::std::os::raw::c_ulonglong,
3261 pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1,
3262 _bindgen_union_align: u64,
3263}
3264#[repr(C)]
3265#[derive(Debug, Copy, Clone)]
3266pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 {
3267 pub __low: ::std::os::raw::c_uint,
3268 pub __high: ::std::os::raw::c_uint,
3269}
3270#[repr(C)]
3271#[derive(Copy, Clone)]
3272pub union __pthread_cond_s__bindgen_ty_2 {
3273 pub __g1_start: ::std::os::raw::c_ulonglong,
3274 pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1,
3275 _bindgen_union_align: u64,
3276}
3277#[repr(C)]
3278#[derive(Debug, Copy, Clone)]
3279pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 {
3280 pub __low: ::std::os::raw::c_uint,
3281 pub __high: ::std::os::raw::c_uint,
3282}
3283pub type pthread_t = ::std::os::raw::c_ulong;
3284#[repr(C)]
3285#[derive(Copy, Clone)]
3286pub union pthread_mutexattr_t {
3287 pub __size: [::std::os::raw::c_char; 4usize],
3288 pub __align: ::std::os::raw::c_int,
3289 _bindgen_union_align: u32,
3290}
3291#[repr(C)]
3292#[derive(Copy, Clone)]
3293pub union pthread_condattr_t {
3294 pub __size: [::std::os::raw::c_char; 4usize],
3295 pub __align: ::std::os::raw::c_int,
3296 _bindgen_union_align: u32,
3297}
3298pub type pthread_key_t = ::std::os::raw::c_uint;
3299pub type pthread_once_t = ::std::os::raw::c_int;
3300#[repr(C)]
3301#[derive(Copy, Clone)]
3302pub union pthread_attr_t {
3303 pub __size: [::std::os::raw::c_char; 56usize],
3304 pub __align: ::std::os::raw::c_long,
3305 _bindgen_union_align: [u64; 7usize],
3306}
3307#[repr(C)]
3308#[derive(Copy, Clone)]
3309pub union pthread_mutex_t {
3310 pub __data: __pthread_mutex_s,
3311 pub __size: [::std::os::raw::c_char; 40usize],
3312 pub __align: ::std::os::raw::c_long,
3313 _bindgen_union_align: [u64; 5usize],
3314}
3315#[repr(C)]
3316#[derive(Copy, Clone)]
3317pub union pthread_cond_t {
3318 pub __data: __pthread_cond_s,
3319 pub __size: [::std::os::raw::c_char; 48usize],
3320 pub __align: ::std::os::raw::c_longlong,
3321 _bindgen_union_align: [u64; 6usize],
3322}
3323#[repr(C)]
3324#[derive(Copy, Clone)]
3325pub union pthread_rwlock_t {
3326 pub __data: __pthread_rwlock_arch_t,
3327 pub __size: [::std::os::raw::c_char; 56usize],
3328 pub __align: ::std::os::raw::c_long,
3329 _bindgen_union_align: [u64; 7usize],
3330}
3331#[repr(C)]
3332#[derive(Copy, Clone)]
3333pub union pthread_rwlockattr_t {
3334 pub __size: [::std::os::raw::c_char; 8usize],
3335 pub __align: ::std::os::raw::c_long,
3336 _bindgen_union_align: u64,
3337}
3338pub type pthread_spinlock_t = ::std::os::raw::c_int;
3339#[repr(C)]
3340#[derive(Copy, Clone)]
3341pub union pthread_barrier_t {
3342 pub __size: [::std::os::raw::c_char; 32usize],
3343 pub __align: ::std::os::raw::c_long,
3344 _bindgen_union_align: [u64; 4usize],
3345}
3346#[repr(C)]
3347#[derive(Copy, Clone)]
3348pub union pthread_barrierattr_t {
3349 pub __size: [::std::os::raw::c_char; 4usize],
3350 pub __align: ::std::os::raw::c_int,
3351 _bindgen_union_align: u32,
3352}
3353extern "C" {
3354 pub fn random() -> ::std::os::raw::c_long;
3355}
3356extern "C" {
3357 pub fn srandom(__seed: ::std::os::raw::c_uint);
3358}
3359extern "C" {
3360 pub fn initstate(
3361 __seed: ::std::os::raw::c_uint,
3362 __statebuf: *mut ::std::os::raw::c_char,
3363 __statelen: usize,
3364 ) -> *mut ::std::os::raw::c_char;
3365}
3366extern "C" {
3367 pub fn setstate(__statebuf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3368}
3369#[repr(C)]
3370#[derive(Debug, Copy, Clone)]
3371pub struct random_data {
3372 pub fptr: *mut i32,
3373 pub rptr: *mut i32,
3374 pub state: *mut i32,
3375 pub rand_type: ::std::os::raw::c_int,
3376 pub rand_deg: ::std::os::raw::c_int,
3377 pub rand_sep: ::std::os::raw::c_int,
3378 pub end_ptr: *mut i32,
3379}
3380extern "C" {
3381 pub fn random_r(__buf: *mut random_data, __result: *mut i32) -> ::std::os::raw::c_int;
3382}
3383extern "C" {
3384 pub fn srandom_r(
3385 __seed: ::std::os::raw::c_uint,
3386 __buf: *mut random_data,
3387 ) -> ::std::os::raw::c_int;
3388}
3389extern "C" {
3390 pub fn initstate_r(
3391 __seed: ::std::os::raw::c_uint,
3392 __statebuf: *mut ::std::os::raw::c_char,
3393 __statelen: usize,
3394 __buf: *mut random_data,
3395 ) -> ::std::os::raw::c_int;
3396}
3397extern "C" {
3398 pub fn setstate_r(
3399 __statebuf: *mut ::std::os::raw::c_char,
3400 __buf: *mut random_data,
3401 ) -> ::std::os::raw::c_int;
3402}
3403extern "C" {
3404 pub fn rand() -> ::std::os::raw::c_int;
3405}
3406extern "C" {
3407 pub fn srand(__seed: ::std::os::raw::c_uint);
3408}
3409extern "C" {
3410 pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
3411}
3412extern "C" {
3413 pub fn drand48() -> f64;
3414}
3415extern "C" {
3416 pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
3417}
3418extern "C" {
3419 pub fn lrand48() -> ::std::os::raw::c_long;
3420}
3421extern "C" {
3422 pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
3423}
3424extern "C" {
3425 pub fn mrand48() -> ::std::os::raw::c_long;
3426}
3427extern "C" {
3428 pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
3429}
3430extern "C" {
3431 pub fn srand48(__seedval: ::std::os::raw::c_long);
3432}
3433extern "C" {
3434 pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
3435}
3436extern "C" {
3437 pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
3438}
3439#[repr(C)]
3440#[derive(Debug, Copy, Clone)]
3441pub struct drand48_data {
3442 pub __x: [::std::os::raw::c_ushort; 3usize],
3443 pub __old_x: [::std::os::raw::c_ushort; 3usize],
3444 pub __c: ::std::os::raw::c_ushort,
3445 pub __init: ::std::os::raw::c_ushort,
3446 pub __a: ::std::os::raw::c_ulonglong,
3447}
3448extern "C" {
3449 pub fn drand48_r(__buffer: *mut drand48_data, __result: *mut f64) -> ::std::os::raw::c_int;
3450}
3451extern "C" {
3452 pub fn erand48_r(
3453 __xsubi: *mut ::std::os::raw::c_ushort,
3454 __buffer: *mut drand48_data,
3455 __result: *mut f64,
3456 ) -> ::std::os::raw::c_int;
3457}
3458extern "C" {
3459 pub fn lrand48_r(
3460 __buffer: *mut drand48_data,
3461 __result: *mut ::std::os::raw::c_long,
3462 ) -> ::std::os::raw::c_int;
3463}
3464extern "C" {
3465 pub fn nrand48_r(
3466 __xsubi: *mut ::std::os::raw::c_ushort,
3467 __buffer: *mut drand48_data,
3468 __result: *mut ::std::os::raw::c_long,
3469 ) -> ::std::os::raw::c_int;
3470}
3471extern "C" {
3472 pub fn mrand48_r(
3473 __buffer: *mut drand48_data,
3474 __result: *mut ::std::os::raw::c_long,
3475 ) -> ::std::os::raw::c_int;
3476}
3477extern "C" {
3478 pub fn jrand48_r(
3479 __xsubi: *mut ::std::os::raw::c_ushort,
3480 __buffer: *mut drand48_data,
3481 __result: *mut ::std::os::raw::c_long,
3482 ) -> ::std::os::raw::c_int;
3483}
3484extern "C" {
3485 pub fn srand48_r(
3486 __seedval: ::std::os::raw::c_long,
3487 __buffer: *mut drand48_data,
3488 ) -> ::std::os::raw::c_int;
3489}
3490extern "C" {
3491 pub fn seed48_r(
3492 __seed16v: *mut ::std::os::raw::c_ushort,
3493 __buffer: *mut drand48_data,
3494 ) -> ::std::os::raw::c_int;
3495}
3496extern "C" {
3497 pub fn lcong48_r(
3498 __param: *mut ::std::os::raw::c_ushort,
3499 __buffer: *mut drand48_data,
3500 ) -> ::std::os::raw::c_int;
3501}
3502extern "C" {
3503 pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
3504}
3505extern "C" {
3506 pub fn calloc(
3507 __nmemb: ::std::os::raw::c_ulong,
3508 __size: ::std::os::raw::c_ulong,
3509 ) -> *mut ::std::os::raw::c_void;
3510}
3511extern "C" {
3512 pub fn realloc(
3513 __ptr: *mut ::std::os::raw::c_void,
3514 __size: ::std::os::raw::c_ulong,
3515 ) -> *mut ::std::os::raw::c_void;
3516}
3517extern "C" {
3518 pub fn reallocarray(
3519 __ptr: *mut ::std::os::raw::c_void,
3520 __nmemb: usize,
3521 __size: usize,
3522 ) -> *mut ::std::os::raw::c_void;
3523}
3524extern "C" {
3525 pub fn free(__ptr: *mut ::std::os::raw::c_void);
3526}
3527extern "C" {
3528 pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
3529}
3530extern "C" {
3531 pub fn valloc(__size: usize) -> *mut ::std::os::raw::c_void;
3532}
3533extern "C" {
3534 pub fn posix_memalign(
3535 __memptr: *mut *mut ::std::os::raw::c_void,
3536 __alignment: usize,
3537 __size: usize,
3538 ) -> ::std::os::raw::c_int;
3539}
3540extern "C" {
3541 pub fn aligned_alloc(__alignment: usize, __size: usize) -> *mut ::std::os::raw::c_void;
3542}
3543extern "C" {
3544 pub fn abort();
3545}
3546extern "C" {
3547 pub fn atexit(__func: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
3548}
3549extern "C" {
3550 pub fn at_quick_exit(
3551 __func: ::std::option::Option<unsafe extern "C" fn()>,
3552 ) -> ::std::os::raw::c_int;
3553}
3554extern "C" {
3555 pub fn on_exit(
3556 __func: ::std::option::Option<
3557 unsafe extern "C" fn(__func: ::std::os::raw::c_int, __arg: *mut ::std::os::raw::c_void),
3558 >,
3559 __arg: *mut ::std::os::raw::c_void,
3560 ) -> ::std::os::raw::c_int;
3561}
3562extern "C" {
3563 pub fn exit(__status: ::std::os::raw::c_int);
3564}
3565extern "C" {
3566 pub fn quick_exit(__status: ::std::os::raw::c_int);
3567}
3568extern "C" {
3569 pub fn _Exit(__status: ::std::os::raw::c_int);
3570}
3571extern "C" {
3572 pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3573}
3574extern "C" {
3575 pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3576}
3577extern "C" {
3578 pub fn setenv(
3579 __name: *const ::std::os::raw::c_char,
3580 __value: *const ::std::os::raw::c_char,
3581 __replace: ::std::os::raw::c_int,
3582 ) -> ::std::os::raw::c_int;
3583}
3584extern "C" {
3585 pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3586}
3587extern "C" {
3588 pub fn clearenv() -> ::std::os::raw::c_int;
3589}
3590extern "C" {
3591 pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3592}
3593extern "C" {
3594 pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3595}
3596extern "C" {
3597 pub fn mkstemps(
3598 __template: *mut ::std::os::raw::c_char,
3599 __suffixlen: ::std::os::raw::c_int,
3600 ) -> ::std::os::raw::c_int;
3601}
3602extern "C" {
3603 pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3604}
3605extern "C" {
3606 pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3607}
3608extern "C" {
3609 pub fn realpath(
3610 __name: *const ::std::os::raw::c_char,
3611 __resolved: *mut ::std::os::raw::c_char,
3612 ) -> *mut ::std::os::raw::c_char;
3613}
3614pub type __compar_fn_t = ::std::option::Option<
3615 unsafe extern "C" fn(
3616 arg1: *const ::std::os::raw::c_void,
3617 arg2: *const ::std::os::raw::c_void,
3618 ) -> ::std::os::raw::c_int,
3619>;
3620extern "C" {
3621 pub fn bsearch(
3622 __key: *const ::std::os::raw::c_void,
3623 __base: *const ::std::os::raw::c_void,
3624 __nmemb: usize,
3625 __size: usize,
3626 __compar: __compar_fn_t,
3627 ) -> *mut ::std::os::raw::c_void;
3628}
3629extern "C" {
3630 pub fn qsort(
3631 __base: *mut ::std::os::raw::c_void,
3632 __nmemb: usize,
3633 __size: usize,
3634 __compar: __compar_fn_t,
3635 );
3636}
3637extern "C" {
3638 pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3639}
3640extern "C" {
3641 pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
3642}
3643extern "C" {
3644 pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
3645}
3646extern "C" {
3647 pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int) -> div_t;
3648}
3649extern "C" {
3650 pub fn ldiv(__numer: ::std::os::raw::c_long, __denom: ::std::os::raw::c_long) -> ldiv_t;
3651}
3652extern "C" {
3653 pub fn lldiv(
3654 __numer: ::std::os::raw::c_longlong,
3655 __denom: ::std::os::raw::c_longlong,
3656 ) -> lldiv_t;
3657}
3658extern "C" {
3659 pub fn ecvt(
3660 __value: f64,
3661 __ndigit: ::std::os::raw::c_int,
3662 __decpt: *mut ::std::os::raw::c_int,
3663 __sign: *mut ::std::os::raw::c_int,
3664 ) -> *mut ::std::os::raw::c_char;
3665}
3666extern "C" {
3667 pub fn fcvt(
3668 __value: f64,
3669 __ndigit: ::std::os::raw::c_int,
3670 __decpt: *mut ::std::os::raw::c_int,
3671 __sign: *mut ::std::os::raw::c_int,
3672 ) -> *mut ::std::os::raw::c_char;
3673}
3674extern "C" {
3675 pub fn gcvt(
3676 __value: f64,
3677 __ndigit: ::std::os::raw::c_int,
3678 __buf: *mut ::std::os::raw::c_char,
3679 ) -> *mut ::std::os::raw::c_char;
3680}
3681extern "C" {
3682 pub fn qecvt(
3683 __value: u128,
3684 __ndigit: ::std::os::raw::c_int,
3685 __decpt: *mut ::std::os::raw::c_int,
3686 __sign: *mut ::std::os::raw::c_int,
3687 ) -> *mut ::std::os::raw::c_char;
3688}
3689extern "C" {
3690 pub fn qfcvt(
3691 __value: u128,
3692 __ndigit: ::std::os::raw::c_int,
3693 __decpt: *mut ::std::os::raw::c_int,
3694 __sign: *mut ::std::os::raw::c_int,
3695 ) -> *mut ::std::os::raw::c_char;
3696}
3697extern "C" {
3698 pub fn qgcvt(
3699 __value: u128,
3700 __ndigit: ::std::os::raw::c_int,
3701 __buf: *mut ::std::os::raw::c_char,
3702 ) -> *mut ::std::os::raw::c_char;
3703}
3704extern "C" {
3705 pub fn ecvt_r(
3706 __value: f64,
3707 __ndigit: ::std::os::raw::c_int,
3708 __decpt: *mut ::std::os::raw::c_int,
3709 __sign: *mut ::std::os::raw::c_int,
3710 __buf: *mut ::std::os::raw::c_char,
3711 __len: usize,
3712 ) -> ::std::os::raw::c_int;
3713}
3714extern "C" {
3715 pub fn fcvt_r(
3716 __value: f64,
3717 __ndigit: ::std::os::raw::c_int,
3718 __decpt: *mut ::std::os::raw::c_int,
3719 __sign: *mut ::std::os::raw::c_int,
3720 __buf: *mut ::std::os::raw::c_char,
3721 __len: usize,
3722 ) -> ::std::os::raw::c_int;
3723}
3724extern "C" {
3725 pub fn qecvt_r(
3726 __value: u128,
3727 __ndigit: ::std::os::raw::c_int,
3728 __decpt: *mut ::std::os::raw::c_int,
3729 __sign: *mut ::std::os::raw::c_int,
3730 __buf: *mut ::std::os::raw::c_char,
3731 __len: usize,
3732 ) -> ::std::os::raw::c_int;
3733}
3734extern "C" {
3735 pub fn qfcvt_r(
3736 __value: u128,
3737 __ndigit: ::std::os::raw::c_int,
3738 __decpt: *mut ::std::os::raw::c_int,
3739 __sign: *mut ::std::os::raw::c_int,
3740 __buf: *mut ::std::os::raw::c_char,
3741 __len: usize,
3742 ) -> ::std::os::raw::c_int;
3743}
3744extern "C" {
3745 pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
3746}
3747extern "C" {
3748 pub fn mbtowc(
3749 __pwc: *mut wchar_t,
3750 __s: *const ::std::os::raw::c_char,
3751 __n: usize,
3752 ) -> ::std::os::raw::c_int;
3753}
3754extern "C" {
3755 pub fn wctomb(__s: *mut ::std::os::raw::c_char, __wchar: wchar_t) -> ::std::os::raw::c_int;
3756}
3757extern "C" {
3758 pub fn mbstowcs(__pwcs: *mut wchar_t, __s: *const ::std::os::raw::c_char, __n: usize) -> usize;
3759}
3760extern "C" {
3761 pub fn wcstombs(__s: *mut ::std::os::raw::c_char, __pwcs: *const wchar_t, __n: usize) -> usize;
3762}
3763extern "C" {
3764 pub fn rpmatch(__response: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3765}
3766extern "C" {
3767 pub fn getsubopt(
3768 __optionp: *mut *mut ::std::os::raw::c_char,
3769 __tokens: *const *mut ::std::os::raw::c_char,
3770 __valuep: *mut *mut ::std::os::raw::c_char,
3771 ) -> ::std::os::raw::c_int;
3772}
3773extern "C" {
3774 pub fn getloadavg(__loadavg: *mut f64, __nelem: ::std::os::raw::c_int)
3775 -> ::std::os::raw::c_int;
3776}
3777extern "C" {
3778 pub fn memcpy(
3779 __dest: *mut ::std::os::raw::c_void,
3780 __src: *const ::std::os::raw::c_void,
3781 __n: ::std::os::raw::c_ulong,
3782 ) -> *mut ::std::os::raw::c_void;
3783}
3784extern "C" {
3785 pub fn memmove(
3786 __dest: *mut ::std::os::raw::c_void,
3787 __src: *const ::std::os::raw::c_void,
3788 __n: ::std::os::raw::c_ulong,
3789 ) -> *mut ::std::os::raw::c_void;
3790}
3791extern "C" {
3792 pub fn memccpy(
3793 __dest: *mut ::std::os::raw::c_void,
3794 __src: *const ::std::os::raw::c_void,
3795 __c: ::std::os::raw::c_int,
3796 __n: usize,
3797 ) -> *mut ::std::os::raw::c_void;
3798}
3799extern "C" {
3800 pub fn memset(
3801 __s: *mut ::std::os::raw::c_void,
3802 __c: ::std::os::raw::c_int,
3803 __n: ::std::os::raw::c_ulong,
3804 ) -> *mut ::std::os::raw::c_void;
3805}
3806extern "C" {
3807 pub fn memcmp(
3808 __s1: *const ::std::os::raw::c_void,
3809 __s2: *const ::std::os::raw::c_void,
3810 __n: ::std::os::raw::c_ulong,
3811 ) -> ::std::os::raw::c_int;
3812}
3813extern "C" {
3814 pub fn memchr(
3815 __s: *const ::std::os::raw::c_void,
3816 __c: ::std::os::raw::c_int,
3817 __n: ::std::os::raw::c_ulong,
3818 ) -> *mut ::std::os::raw::c_void;
3819}
3820extern "C" {
3821 pub fn strcpy(
3822 __dest: *mut ::std::os::raw::c_char,
3823 __src: *const ::std::os::raw::c_char,
3824 ) -> *mut ::std::os::raw::c_char;
3825}
3826extern "C" {
3827 pub fn strncpy(
3828 __dest: *mut ::std::os::raw::c_char,
3829 __src: *const ::std::os::raw::c_char,
3830 __n: ::std::os::raw::c_ulong,
3831 ) -> *mut ::std::os::raw::c_char;
3832}
3833extern "C" {
3834 pub fn strcat(
3835 __dest: *mut ::std::os::raw::c_char,
3836 __src: *const ::std::os::raw::c_char,
3837 ) -> *mut ::std::os::raw::c_char;
3838}
3839extern "C" {
3840 pub fn strncat(
3841 __dest: *mut ::std::os::raw::c_char,
3842 __src: *const ::std::os::raw::c_char,
3843 __n: ::std::os::raw::c_ulong,
3844 ) -> *mut ::std::os::raw::c_char;
3845}
3846extern "C" {
3847 pub fn strcmp(
3848 __s1: *const ::std::os::raw::c_char,
3849 __s2: *const ::std::os::raw::c_char,
3850 ) -> ::std::os::raw::c_int;
3851}
3852extern "C" {
3853 pub fn strncmp(
3854 __s1: *const ::std::os::raw::c_char,
3855 __s2: *const ::std::os::raw::c_char,
3856 __n: ::std::os::raw::c_ulong,
3857 ) -> ::std::os::raw::c_int;
3858}
3859extern "C" {
3860 pub fn strcoll(
3861 __s1: *const ::std::os::raw::c_char,
3862 __s2: *const ::std::os::raw::c_char,
3863 ) -> ::std::os::raw::c_int;
3864}
3865extern "C" {
3866 pub fn strxfrm(
3867 __dest: *mut ::std::os::raw::c_char,
3868 __src: *const ::std::os::raw::c_char,
3869 __n: ::std::os::raw::c_ulong,
3870 ) -> ::std::os::raw::c_ulong;
3871}
3872#[repr(C)]
3873#[derive(Debug, Copy, Clone)]
3874pub struct __locale_struct {
3875 pub __locales: [*mut __locale_data; 13usize],
3876 pub __ctype_b: *const ::std::os::raw::c_ushort,
3877 pub __ctype_tolower: *const ::std::os::raw::c_int,
3878 pub __ctype_toupper: *const ::std::os::raw::c_int,
3879 pub __names: [*const ::std::os::raw::c_char; 13usize],
3880}
3881pub type __locale_t = *mut __locale_struct;
3882pub type locale_t = __locale_t;
3883extern "C" {
3884 pub fn strcoll_l(
3885 __s1: *const ::std::os::raw::c_char,
3886 __s2: *const ::std::os::raw::c_char,
3887 __l: locale_t,
3888 ) -> ::std::os::raw::c_int;
3889}
3890extern "C" {
3891 pub fn strxfrm_l(
3892 __dest: *mut ::std::os::raw::c_char,
3893 __src: *const ::std::os::raw::c_char,
3894 __n: usize,
3895 __l: locale_t,
3896 ) -> usize;
3897}
3898extern "C" {
3899 pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3900}
3901extern "C" {
3902 pub fn strndup(
3903 __string: *const ::std::os::raw::c_char,
3904 __n: ::std::os::raw::c_ulong,
3905 ) -> *mut ::std::os::raw::c_char;
3906}
3907extern "C" {
3908 pub fn strchr(
3909 __s: *const ::std::os::raw::c_char,
3910 __c: ::std::os::raw::c_int,
3911 ) -> *mut ::std::os::raw::c_char;
3912}
3913extern "C" {
3914 pub fn strrchr(
3915 __s: *const ::std::os::raw::c_char,
3916 __c: ::std::os::raw::c_int,
3917 ) -> *mut ::std::os::raw::c_char;
3918}
3919extern "C" {
3920 pub fn strcspn(
3921 __s: *const ::std::os::raw::c_char,
3922 __reject: *const ::std::os::raw::c_char,
3923 ) -> ::std::os::raw::c_ulong;
3924}
3925extern "C" {
3926 pub fn strspn(
3927 __s: *const ::std::os::raw::c_char,
3928 __accept: *const ::std::os::raw::c_char,
3929 ) -> ::std::os::raw::c_ulong;
3930}
3931extern "C" {
3932 pub fn strpbrk(
3933 __s: *const ::std::os::raw::c_char,
3934 __accept: *const ::std::os::raw::c_char,
3935 ) -> *mut ::std::os::raw::c_char;
3936}
3937extern "C" {
3938 pub fn strstr(
3939 __haystack: *const ::std::os::raw::c_char,
3940 __needle: *const ::std::os::raw::c_char,
3941 ) -> *mut ::std::os::raw::c_char;
3942}
3943extern "C" {
3944 pub fn strtok(
3945 __s: *mut ::std::os::raw::c_char,
3946 __delim: *const ::std::os::raw::c_char,
3947 ) -> *mut ::std::os::raw::c_char;
3948}
3949extern "C" {
3950 pub fn __strtok_r(
3951 __s: *mut ::std::os::raw::c_char,
3952 __delim: *const ::std::os::raw::c_char,
3953 __save_ptr: *mut *mut ::std::os::raw::c_char,
3954 ) -> *mut ::std::os::raw::c_char;
3955}
3956extern "C" {
3957 pub fn strtok_r(
3958 __s: *mut ::std::os::raw::c_char,
3959 __delim: *const ::std::os::raw::c_char,
3960 __save_ptr: *mut *mut ::std::os::raw::c_char,
3961 ) -> *mut ::std::os::raw::c_char;
3962}
3963extern "C" {
3964 pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
3965}
3966extern "C" {
3967 pub fn strnlen(__string: *const ::std::os::raw::c_char, __maxlen: usize) -> usize;
3968}
3969extern "C" {
3970 pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
3971}
3972extern "C" {
3973 #[link_name = "\u{1}__xpg_strerror_r"]
3974 pub fn strerror_r(
3975 __errnum: ::std::os::raw::c_int,
3976 __buf: *mut ::std::os::raw::c_char,
3977 __buflen: usize,
3978 ) -> ::std::os::raw::c_int;
3979}
3980extern "C" {
3981 pub fn strerror_l(
3982 __errnum: ::std::os::raw::c_int,
3983 __l: locale_t,
3984 ) -> *mut ::std::os::raw::c_char;
3985}
3986extern "C" {
3987 pub fn bcmp(
3988 __s1: *const ::std::os::raw::c_void,
3989 __s2: *const ::std::os::raw::c_void,
3990 __n: usize,
3991 ) -> ::std::os::raw::c_int;
3992}
3993extern "C" {
3994 pub fn bcopy(
3995 __src: *const ::std::os::raw::c_void,
3996 __dest: *mut ::std::os::raw::c_void,
3997 __n: usize,
3998 );
3999}
4000extern "C" {
4001 pub fn bzero(__s: *mut ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong);
4002}
4003extern "C" {
4004 pub fn index(
4005 __s: *const ::std::os::raw::c_char,
4006 __c: ::std::os::raw::c_int,
4007 ) -> *mut ::std::os::raw::c_char;
4008}
4009extern "C" {
4010 pub fn rindex(
4011 __s: *const ::std::os::raw::c_char,
4012 __c: ::std::os::raw::c_int,
4013 ) -> *mut ::std::os::raw::c_char;
4014}
4015extern "C" {
4016 pub fn ffs(__i: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4017}
4018extern "C" {
4019 pub fn ffsl(__l: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
4020}
4021extern "C" {
4022 pub fn ffsll(__ll: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
4023}
4024extern "C" {
4025 pub fn strcasecmp(
4026 __s1: *const ::std::os::raw::c_char,
4027 __s2: *const ::std::os::raw::c_char,
4028 ) -> ::std::os::raw::c_int;
4029}
4030extern "C" {
4031 pub fn strncasecmp(
4032 __s1: *const ::std::os::raw::c_char,
4033 __s2: *const ::std::os::raw::c_char,
4034 __n: ::std::os::raw::c_ulong,
4035 ) -> ::std::os::raw::c_int;
4036}
4037extern "C" {
4038 pub fn strcasecmp_l(
4039 __s1: *const ::std::os::raw::c_char,
4040 __s2: *const ::std::os::raw::c_char,
4041 __loc: locale_t,
4042 ) -> ::std::os::raw::c_int;
4043}
4044extern "C" {
4045 pub fn strncasecmp_l(
4046 __s1: *const ::std::os::raw::c_char,
4047 __s2: *const ::std::os::raw::c_char,
4048 __n: usize,
4049 __loc: locale_t,
4050 ) -> ::std::os::raw::c_int;
4051}
4052extern "C" {
4053 pub fn explicit_bzero(__s: *mut ::std::os::raw::c_void, __n: usize);
4054}
4055extern "C" {
4056 pub fn strsep(
4057 __stringp: *mut *mut ::std::os::raw::c_char,
4058 __delim: *const ::std::os::raw::c_char,
4059 ) -> *mut ::std::os::raw::c_char;
4060}
4061extern "C" {
4062 pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
4063}
4064extern "C" {
4065 pub fn __stpcpy(
4066 __dest: *mut ::std::os::raw::c_char,
4067 __src: *const ::std::os::raw::c_char,
4068 ) -> *mut ::std::os::raw::c_char;
4069}
4070extern "C" {
4071 pub fn stpcpy(
4072 __dest: *mut ::std::os::raw::c_char,
4073 __src: *const ::std::os::raw::c_char,
4074 ) -> *mut ::std::os::raw::c_char;
4075}
4076extern "C" {
4077 pub fn __stpncpy(
4078 __dest: *mut ::std::os::raw::c_char,
4079 __src: *const ::std::os::raw::c_char,
4080 __n: usize,
4081 ) -> *mut ::std::os::raw::c_char;
4082}
4083extern "C" {
4084 pub fn stpncpy(
4085 __dest: *mut ::std::os::raw::c_char,
4086 __src: *const ::std::os::raw::c_char,
4087 __n: ::std::os::raw::c_ulong,
4088 ) -> *mut ::std::os::raw::c_char;
4089}
4090extern "C" {
4091 pub fn av_log2(v: ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
4092}
4093extern "C" {
4094 pub fn av_log2_16bit(v: ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
4095}
4096#[repr(C)]
4097#[repr(align(16))]
4098#[derive(Debug, Copy, Clone)]
4099pub struct max_align_t {
4100 pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
4101 pub __bindgen_padding_0: u64,
4102 pub __clang_max_align_nonce2: u128,
4103}
4104extern "C" {
4105 pub fn av_strerror(
4106 errnum: ::std::os::raw::c_int,
4107 errbuf: *mut ::std::os::raw::c_char,
4108 errbuf_size: usize,
4109 ) -> ::std::os::raw::c_int;
4110}
4111extern "C" {
4112 pub fn av_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4113}
4114extern "C" {
4115 pub fn av_mallocz(size: usize) -> *mut ::std::os::raw::c_void;
4116}
4117extern "C" {
4118 pub fn av_malloc_array(nmemb: usize, size: usize) -> *mut ::std::os::raw::c_void;
4119}
4120extern "C" {
4121 pub fn av_mallocz_array(nmemb: usize, size: usize) -> *mut ::std::os::raw::c_void;
4122}
4123extern "C" {
4124 pub fn av_calloc(nmemb: usize, size: usize) -> *mut ::std::os::raw::c_void;
4125}
4126extern "C" {
4127 pub fn av_realloc(ptr: *mut ::std::os::raw::c_void, size: usize)
4128 -> *mut ::std::os::raw::c_void;
4129}
4130extern "C" {
4131 pub fn av_reallocp(ptr: *mut ::std::os::raw::c_void, size: usize) -> ::std::os::raw::c_int;
4132}
4133extern "C" {
4134 pub fn av_realloc_f(
4135 ptr: *mut ::std::os::raw::c_void,
4136 nelem: usize,
4137 elsize: usize,
4138 ) -> *mut ::std::os::raw::c_void;
4139}
4140extern "C" {
4141 pub fn av_realloc_array(
4142 ptr: *mut ::std::os::raw::c_void,
4143 nmemb: usize,
4144 size: usize,
4145 ) -> *mut ::std::os::raw::c_void;
4146}
4147extern "C" {
4148 pub fn av_reallocp_array(
4149 ptr: *mut ::std::os::raw::c_void,
4150 nmemb: usize,
4151 size: usize,
4152 ) -> ::std::os::raw::c_int;
4153}
4154extern "C" {
4155 pub fn av_fast_realloc(
4156 ptr: *mut ::std::os::raw::c_void,
4157 size: *mut ::std::os::raw::c_uint,
4158 min_size: usize,
4159 ) -> *mut ::std::os::raw::c_void;
4160}
4161extern "C" {
4162 pub fn av_fast_malloc(
4163 ptr: *mut ::std::os::raw::c_void,
4164 size: *mut ::std::os::raw::c_uint,
4165 min_size: usize,
4166 );
4167}
4168extern "C" {
4169 pub fn av_fast_mallocz(
4170 ptr: *mut ::std::os::raw::c_void,
4171 size: *mut ::std::os::raw::c_uint,
4172 min_size: usize,
4173 );
4174}
4175extern "C" {
4176 pub fn av_free(ptr: *mut ::std::os::raw::c_void);
4177}
4178extern "C" {
4179 pub fn av_freep(ptr: *mut ::std::os::raw::c_void);
4180}
4181extern "C" {
4182 pub fn av_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
4183}
4184extern "C" {
4185 pub fn av_strndup(s: *const ::std::os::raw::c_char, len: usize) -> *mut ::std::os::raw::c_char;
4186}
4187extern "C" {
4188 pub fn av_memdup(p: *const ::std::os::raw::c_void, size: usize) -> *mut ::std::os::raw::c_void;
4189}
4190extern "C" {
4191 pub fn av_memcpy_backptr(dst: *mut u8, back: ::std::os::raw::c_int, cnt: ::std::os::raw::c_int);
4192}
4193extern "C" {
4194 pub fn av_dynarray_add(
4195 tab_ptr: *mut ::std::os::raw::c_void,
4196 nb_ptr: *mut ::std::os::raw::c_int,
4197 elem: *mut ::std::os::raw::c_void,
4198 );
4199}
4200extern "C" {
4201 pub fn av_dynarray_add_nofree(
4202 tab_ptr: *mut ::std::os::raw::c_void,
4203 nb_ptr: *mut ::std::os::raw::c_int,
4204 elem: *mut ::std::os::raw::c_void,
4205 ) -> ::std::os::raw::c_int;
4206}
4207extern "C" {
4208 pub fn av_dynarray2_add(
4209 tab_ptr: *mut *mut ::std::os::raw::c_void,
4210 nb_ptr: *mut ::std::os::raw::c_int,
4211 elem_size: usize,
4212 elem_data: *const u8,
4213 ) -> *mut ::std::os::raw::c_void;
4214}
4215extern "C" {
4216 pub fn av_max_alloc(max: usize);
4217}
4218#[repr(C)]
4219#[derive(Debug, Copy, Clone)]
4220pub struct AVRational {
4221 pub num: ::std::os::raw::c_int,
4222 pub den: ::std::os::raw::c_int,
4223}
4224extern "C" {
4225 pub fn av_reduce(
4226 dst_num: *mut ::std::os::raw::c_int,
4227 dst_den: *mut ::std::os::raw::c_int,
4228 num: i64,
4229 den: i64,
4230 max: i64,
4231 ) -> ::std::os::raw::c_int;
4232}
4233extern "C" {
4234 pub fn av_mul_q(b: AVRational, c: AVRational) -> AVRational;
4235}
4236extern "C" {
4237 pub fn av_div_q(b: AVRational, c: AVRational) -> AVRational;
4238}
4239extern "C" {
4240 pub fn av_add_q(b: AVRational, c: AVRational) -> AVRational;
4241}
4242extern "C" {
4243 pub fn av_sub_q(b: AVRational, c: AVRational) -> AVRational;
4244}
4245extern "C" {
4246 pub fn av_d2q(d: f64, max: ::std::os::raw::c_int) -> AVRational;
4247}
4248extern "C" {
4249 pub fn av_nearer_q(q: AVRational, q1: AVRational, q2: AVRational) -> ::std::os::raw::c_int;
4250}
4251extern "C" {
4252 pub fn av_find_nearest_q_idx(q: AVRational, q_list: *const AVRational)
4253 -> ::std::os::raw::c_int;
4254}
4255extern "C" {
4256 pub fn av_q2intfloat(q: AVRational) -> u32;
4257}
4258#[repr(C)]
4259#[derive(Copy, Clone)]
4260pub union av_intfloat32 {
4261 pub i: u32,
4262 pub f: f32,
4263 _bindgen_union_align: u32,
4264}
4265#[repr(C)]
4266#[derive(Copy, Clone)]
4267pub union av_intfloat64 {
4268 pub i: u64,
4269 pub f: f64,
4270 _bindgen_union_align: u64,
4271}
4272pub const AVRounding_AV_ROUND_ZERO: AVRounding = 0;
4273pub const AVRounding_AV_ROUND_INF: AVRounding = 1;
4274pub const AVRounding_AV_ROUND_DOWN: AVRounding = 2;
4275pub const AVRounding_AV_ROUND_UP: AVRounding = 3;
4276pub const AVRounding_AV_ROUND_NEAR_INF: AVRounding = 5;
4277pub const AVRounding_AV_ROUND_PASS_MINMAX: AVRounding = 8192;
4278pub type AVRounding = u32;
4279extern "C" {
4280 pub fn av_gcd(a: i64, b: i64) -> i64;
4281}
4282extern "C" {
4283 pub fn av_rescale(a: i64, b: i64, c: i64) -> i64;
4284}
4285extern "C" {
4286 pub fn av_rescale_rnd(a: i64, b: i64, c: i64, rnd: AVRounding) -> i64;
4287}
4288extern "C" {
4289 pub fn av_rescale_q(a: i64, bq: AVRational, cq: AVRational) -> i64;
4290}
4291extern "C" {
4292 pub fn av_rescale_q_rnd(a: i64, bq: AVRational, cq: AVRational, rnd: AVRounding) -> i64;
4293}
4294extern "C" {
4295 pub fn av_compare_ts(
4296 ts_a: i64,
4297 tb_a: AVRational,
4298 ts_b: i64,
4299 tb_b: AVRational,
4300 ) -> ::std::os::raw::c_int;
4301}
4302extern "C" {
4303 pub fn av_compare_mod(a: u64, b: u64, mod_: u64) -> i64;
4304}
4305extern "C" {
4306 pub fn av_rescale_delta(
4307 in_tb: AVRational,
4308 in_ts: i64,
4309 fs_tb: AVRational,
4310 duration: ::std::os::raw::c_int,
4311 last: *mut i64,
4312 out_tb: AVRational,
4313 ) -> i64;
4314}
4315extern "C" {
4316 pub fn av_add_stable(ts_tb: AVRational, ts: i64, inc_tb: AVRational, inc: i64) -> i64;
4317}
4318pub const AVClassCategory_AV_CLASS_CATEGORY_NA: AVClassCategory = 0;
4319pub const AVClassCategory_AV_CLASS_CATEGORY_INPUT: AVClassCategory = 1;
4320pub const AVClassCategory_AV_CLASS_CATEGORY_OUTPUT: AVClassCategory = 2;
4321pub const AVClassCategory_AV_CLASS_CATEGORY_MUXER: AVClassCategory = 3;
4322pub const AVClassCategory_AV_CLASS_CATEGORY_DEMUXER: AVClassCategory = 4;
4323pub const AVClassCategory_AV_CLASS_CATEGORY_ENCODER: AVClassCategory = 5;
4324pub const AVClassCategory_AV_CLASS_CATEGORY_DECODER: AVClassCategory = 6;
4325pub const AVClassCategory_AV_CLASS_CATEGORY_FILTER: AVClassCategory = 7;
4326pub const AVClassCategory_AV_CLASS_CATEGORY_BITSTREAM_FILTER: AVClassCategory = 8;
4327pub const AVClassCategory_AV_CLASS_CATEGORY_SWSCALER: AVClassCategory = 9;
4328pub const AVClassCategory_AV_CLASS_CATEGORY_SWRESAMPLER: AVClassCategory = 10;
4329pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT: AVClassCategory = 40;
4330pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT: AVClassCategory = 41;
4331pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT: AVClassCategory = 42;
4332pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT: AVClassCategory = 43;
4333pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_OUTPUT: AVClassCategory = 44;
4334pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_INPUT: AVClassCategory = 45;
4335pub const AVClassCategory_AV_CLASS_CATEGORY_NB: AVClassCategory = 46;
4336pub type AVClassCategory = u32;
4337#[repr(C)]
4338#[derive(Debug, Copy, Clone)]
4339pub struct AVOptionRanges {
4340 _unused: [u8; 0],
4341}
4342#[repr(C)]
4343#[derive(Debug, Copy, Clone)]
4344pub struct AVClass {
4345 pub class_name: *const ::std::os::raw::c_char,
4346 pub item_name: ::std::option::Option<
4347 unsafe extern "C" fn(ctx: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char,
4348 >,
4349 pub option: *mut AVOption,
4350 pub version: ::std::os::raw::c_int,
4351 pub log_level_offset_offset: ::std::os::raw::c_int,
4352 pub parent_log_context_offset: ::std::os::raw::c_int,
4353 pub child_next: ::std::option::Option<
4354 unsafe extern "C" fn(
4355 obj: *mut ::std::os::raw::c_void,
4356 prev: *mut ::std::os::raw::c_void,
4357 ) -> *mut ::std::os::raw::c_void,
4358 >,
4359 pub child_class_next:
4360 ::std::option::Option<unsafe extern "C" fn(prev: *const AVClass) -> *const AVClass>,
4361 pub category: AVClassCategory,
4362 pub get_category: ::std::option::Option<
4363 unsafe extern "C" fn(ctx: *mut ::std::os::raw::c_void) -> AVClassCategory,
4364 >,
4365 pub query_ranges: ::std::option::Option<
4366 unsafe extern "C" fn(
4367 arg1: *mut *mut AVOptionRanges,
4368 obj: *mut ::std::os::raw::c_void,
4369 key: *const ::std::os::raw::c_char,
4370 flags: ::std::os::raw::c_int,
4371 ) -> ::std::os::raw::c_int,
4372 >,
4373}
4374extern "C" {
4375 pub fn av_log(
4376 avcl: *mut ::std::os::raw::c_void,
4377 level: ::std::os::raw::c_int,
4378 fmt: *const ::std::os::raw::c_char,
4379 ...
4380 );
4381}
4382extern "C" {
4383 pub fn av_vlog(
4384 avcl: *mut ::std::os::raw::c_void,
4385 level: ::std::os::raw::c_int,
4386 fmt: *const ::std::os::raw::c_char,
4387 vl: *mut __va_list_tag,
4388 );
4389}
4390extern "C" {
4391 pub fn av_log_get_level() -> ::std::os::raw::c_int;
4392}
4393extern "C" {
4394 pub fn av_log_set_level(level: ::std::os::raw::c_int);
4395}
4396extern "C" {
4397 pub fn av_log_set_callback(
4398 callback: ::std::option::Option<
4399 unsafe extern "C" fn(
4400 callback: *mut ::std::os::raw::c_void,
4401 arg1: ::std::os::raw::c_int,
4402 arg2: *const ::std::os::raw::c_char,
4403 arg3: *mut __va_list_tag,
4404 ),
4405 >,
4406 );
4407}
4408extern "C" {
4409 pub fn av_log_default_callback(
4410 avcl: *mut ::std::os::raw::c_void,
4411 level: ::std::os::raw::c_int,
4412 fmt: *const ::std::os::raw::c_char,
4413 vl: *mut __va_list_tag,
4414 );
4415}
4416extern "C" {
4417 pub fn av_default_item_name(ctx: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char;
4418}
4419extern "C" {
4420 pub fn av_default_get_category(ptr: *mut ::std::os::raw::c_void) -> AVClassCategory;
4421}
4422extern "C" {
4423 pub fn av_log_format_line(
4424 ptr: *mut ::std::os::raw::c_void,
4425 level: ::std::os::raw::c_int,
4426 fmt: *const ::std::os::raw::c_char,
4427 vl: *mut __va_list_tag,
4428 line: *mut ::std::os::raw::c_char,
4429 line_size: ::std::os::raw::c_int,
4430 print_prefix: *mut ::std::os::raw::c_int,
4431 );
4432}
4433extern "C" {
4434 pub fn av_log_format_line2(
4435 ptr: *mut ::std::os::raw::c_void,
4436 level: ::std::os::raw::c_int,
4437 fmt: *const ::std::os::raw::c_char,
4438 vl: *mut __va_list_tag,
4439 line: *mut ::std::os::raw::c_char,
4440 line_size: ::std::os::raw::c_int,
4441 print_prefix: *mut ::std::os::raw::c_int,
4442 ) -> ::std::os::raw::c_int;
4443}
4444extern "C" {
4445 pub fn av_log_set_flags(arg: ::std::os::raw::c_int);
4446}
4447extern "C" {
4448 pub fn av_log_get_flags() -> ::std::os::raw::c_int;
4449}
4450pub const AVPixelFormat_AV_PIX_FMT_NONE: AVPixelFormat = -1;
4451pub const AVPixelFormat_AV_PIX_FMT_YUV420P: AVPixelFormat = 0;
4452pub const AVPixelFormat_AV_PIX_FMT_YUYV422: AVPixelFormat = 1;
4453pub const AVPixelFormat_AV_PIX_FMT_RGB24: AVPixelFormat = 2;
4454pub const AVPixelFormat_AV_PIX_FMT_BGR24: AVPixelFormat = 3;
4455pub const AVPixelFormat_AV_PIX_FMT_YUV422P: AVPixelFormat = 4;
4456pub const AVPixelFormat_AV_PIX_FMT_YUV444P: AVPixelFormat = 5;
4457pub const AVPixelFormat_AV_PIX_FMT_YUV410P: AVPixelFormat = 6;
4458pub const AVPixelFormat_AV_PIX_FMT_YUV411P: AVPixelFormat = 7;
4459pub const AVPixelFormat_AV_PIX_FMT_GRAY8: AVPixelFormat = 8;
4460pub const AVPixelFormat_AV_PIX_FMT_MONOWHITE: AVPixelFormat = 9;
4461pub const AVPixelFormat_AV_PIX_FMT_MONOBLACK: AVPixelFormat = 10;
4462pub const AVPixelFormat_AV_PIX_FMT_PAL8: AVPixelFormat = 11;
4463pub const AVPixelFormat_AV_PIX_FMT_YUVJ420P: AVPixelFormat = 12;
4464pub const AVPixelFormat_AV_PIX_FMT_YUVJ422P: AVPixelFormat = 13;
4465pub const AVPixelFormat_AV_PIX_FMT_YUVJ444P: AVPixelFormat = 14;
4466pub const AVPixelFormat_AV_PIX_FMT_UYVY422: AVPixelFormat = 15;
4467pub const AVPixelFormat_AV_PIX_FMT_UYYVYY411: AVPixelFormat = 16;
4468pub const AVPixelFormat_AV_PIX_FMT_BGR8: AVPixelFormat = 17;
4469pub const AVPixelFormat_AV_PIX_FMT_BGR4: AVPixelFormat = 18;
4470pub const AVPixelFormat_AV_PIX_FMT_BGR4_BYTE: AVPixelFormat = 19;
4471pub const AVPixelFormat_AV_PIX_FMT_RGB8: AVPixelFormat = 20;
4472pub const AVPixelFormat_AV_PIX_FMT_RGB4: AVPixelFormat = 21;
4473pub const AVPixelFormat_AV_PIX_FMT_RGB4_BYTE: AVPixelFormat = 22;
4474pub const AVPixelFormat_AV_PIX_FMT_NV12: AVPixelFormat = 23;
4475pub const AVPixelFormat_AV_PIX_FMT_NV21: AVPixelFormat = 24;
4476pub const AVPixelFormat_AV_PIX_FMT_ARGB: AVPixelFormat = 25;
4477pub const AVPixelFormat_AV_PIX_FMT_RGBA: AVPixelFormat = 26;
4478pub const AVPixelFormat_AV_PIX_FMT_ABGR: AVPixelFormat = 27;
4479pub const AVPixelFormat_AV_PIX_FMT_BGRA: AVPixelFormat = 28;
4480pub const AVPixelFormat_AV_PIX_FMT_GRAY16BE: AVPixelFormat = 29;
4481pub const AVPixelFormat_AV_PIX_FMT_GRAY16LE: AVPixelFormat = 30;
4482pub const AVPixelFormat_AV_PIX_FMT_YUV440P: AVPixelFormat = 31;
4483pub const AVPixelFormat_AV_PIX_FMT_YUVJ440P: AVPixelFormat = 32;
4484pub const AVPixelFormat_AV_PIX_FMT_YUVA420P: AVPixelFormat = 33;
4485pub const AVPixelFormat_AV_PIX_FMT_RGB48BE: AVPixelFormat = 34;
4486pub const AVPixelFormat_AV_PIX_FMT_RGB48LE: AVPixelFormat = 35;
4487pub const AVPixelFormat_AV_PIX_FMT_RGB565BE: AVPixelFormat = 36;
4488pub const AVPixelFormat_AV_PIX_FMT_RGB565LE: AVPixelFormat = 37;
4489pub const AVPixelFormat_AV_PIX_FMT_RGB555BE: AVPixelFormat = 38;
4490pub const AVPixelFormat_AV_PIX_FMT_RGB555LE: AVPixelFormat = 39;
4491pub const AVPixelFormat_AV_PIX_FMT_BGR565BE: AVPixelFormat = 40;
4492pub const AVPixelFormat_AV_PIX_FMT_BGR565LE: AVPixelFormat = 41;
4493pub const AVPixelFormat_AV_PIX_FMT_BGR555BE: AVPixelFormat = 42;
4494pub const AVPixelFormat_AV_PIX_FMT_BGR555LE: AVPixelFormat = 43;
4495pub const AVPixelFormat_AV_PIX_FMT_VAAPI_MOCO: AVPixelFormat = 44;
4496pub const AVPixelFormat_AV_PIX_FMT_VAAPI_IDCT: AVPixelFormat = 45;
4497pub const AVPixelFormat_AV_PIX_FMT_VAAPI_VLD: AVPixelFormat = 46;
4498pub const AVPixelFormat_AV_PIX_FMT_VAAPI: AVPixelFormat = 46;
4499pub const AVPixelFormat_AV_PIX_FMT_YUV420P16LE: AVPixelFormat = 47;
4500pub const AVPixelFormat_AV_PIX_FMT_YUV420P16BE: AVPixelFormat = 48;
4501pub const AVPixelFormat_AV_PIX_FMT_YUV422P16LE: AVPixelFormat = 49;
4502pub const AVPixelFormat_AV_PIX_FMT_YUV422P16BE: AVPixelFormat = 50;
4503pub const AVPixelFormat_AV_PIX_FMT_YUV444P16LE: AVPixelFormat = 51;
4504pub const AVPixelFormat_AV_PIX_FMT_YUV444P16BE: AVPixelFormat = 52;
4505pub const AVPixelFormat_AV_PIX_FMT_DXVA2_VLD: AVPixelFormat = 53;
4506pub const AVPixelFormat_AV_PIX_FMT_RGB444LE: AVPixelFormat = 54;
4507pub const AVPixelFormat_AV_PIX_FMT_RGB444BE: AVPixelFormat = 55;
4508pub const AVPixelFormat_AV_PIX_FMT_BGR444LE: AVPixelFormat = 56;
4509pub const AVPixelFormat_AV_PIX_FMT_BGR444BE: AVPixelFormat = 57;
4510pub const AVPixelFormat_AV_PIX_FMT_YA8: AVPixelFormat = 58;
4511pub const AVPixelFormat_AV_PIX_FMT_Y400A: AVPixelFormat = 58;
4512pub const AVPixelFormat_AV_PIX_FMT_GRAY8A: AVPixelFormat = 58;
4513pub const AVPixelFormat_AV_PIX_FMT_BGR48BE: AVPixelFormat = 59;
4514pub const AVPixelFormat_AV_PIX_FMT_BGR48LE: AVPixelFormat = 60;
4515pub const AVPixelFormat_AV_PIX_FMT_YUV420P9BE: AVPixelFormat = 61;
4516pub const AVPixelFormat_AV_PIX_FMT_YUV420P9LE: AVPixelFormat = 62;
4517pub const AVPixelFormat_AV_PIX_FMT_YUV420P10BE: AVPixelFormat = 63;
4518pub const AVPixelFormat_AV_PIX_FMT_YUV420P10LE: AVPixelFormat = 64;
4519pub const AVPixelFormat_AV_PIX_FMT_YUV422P10BE: AVPixelFormat = 65;
4520pub const AVPixelFormat_AV_PIX_FMT_YUV422P10LE: AVPixelFormat = 66;
4521pub const AVPixelFormat_AV_PIX_FMT_YUV444P9BE: AVPixelFormat = 67;
4522pub const AVPixelFormat_AV_PIX_FMT_YUV444P9LE: AVPixelFormat = 68;
4523pub const AVPixelFormat_AV_PIX_FMT_YUV444P10BE: AVPixelFormat = 69;
4524pub const AVPixelFormat_AV_PIX_FMT_YUV444P10LE: AVPixelFormat = 70;
4525pub const AVPixelFormat_AV_PIX_FMT_YUV422P9BE: AVPixelFormat = 71;
4526pub const AVPixelFormat_AV_PIX_FMT_YUV422P9LE: AVPixelFormat = 72;
4527pub const AVPixelFormat_AV_PIX_FMT_GBRP: AVPixelFormat = 73;
4528pub const AVPixelFormat_AV_PIX_FMT_GBR24P: AVPixelFormat = 73;
4529pub const AVPixelFormat_AV_PIX_FMT_GBRP9BE: AVPixelFormat = 74;
4530pub const AVPixelFormat_AV_PIX_FMT_GBRP9LE: AVPixelFormat = 75;
4531pub const AVPixelFormat_AV_PIX_FMT_GBRP10BE: AVPixelFormat = 76;
4532pub const AVPixelFormat_AV_PIX_FMT_GBRP10LE: AVPixelFormat = 77;
4533pub const AVPixelFormat_AV_PIX_FMT_GBRP16BE: AVPixelFormat = 78;
4534pub const AVPixelFormat_AV_PIX_FMT_GBRP16LE: AVPixelFormat = 79;
4535pub const AVPixelFormat_AV_PIX_FMT_YUVA422P: AVPixelFormat = 80;
4536pub const AVPixelFormat_AV_PIX_FMT_YUVA444P: AVPixelFormat = 81;
4537pub const AVPixelFormat_AV_PIX_FMT_YUVA420P9BE: AVPixelFormat = 82;
4538pub const AVPixelFormat_AV_PIX_FMT_YUVA420P9LE: AVPixelFormat = 83;
4539pub const AVPixelFormat_AV_PIX_FMT_YUVA422P9BE: AVPixelFormat = 84;
4540pub const AVPixelFormat_AV_PIX_FMT_YUVA422P9LE: AVPixelFormat = 85;
4541pub const AVPixelFormat_AV_PIX_FMT_YUVA444P9BE: AVPixelFormat = 86;
4542pub const AVPixelFormat_AV_PIX_FMT_YUVA444P9LE: AVPixelFormat = 87;
4543pub const AVPixelFormat_AV_PIX_FMT_YUVA420P10BE: AVPixelFormat = 88;
4544pub const AVPixelFormat_AV_PIX_FMT_YUVA420P10LE: AVPixelFormat = 89;
4545pub const AVPixelFormat_AV_PIX_FMT_YUVA422P10BE: AVPixelFormat = 90;
4546pub const AVPixelFormat_AV_PIX_FMT_YUVA422P10LE: AVPixelFormat = 91;
4547pub const AVPixelFormat_AV_PIX_FMT_YUVA444P10BE: AVPixelFormat = 92;
4548pub const AVPixelFormat_AV_PIX_FMT_YUVA444P10LE: AVPixelFormat = 93;
4549pub const AVPixelFormat_AV_PIX_FMT_YUVA420P16BE: AVPixelFormat = 94;
4550pub const AVPixelFormat_AV_PIX_FMT_YUVA420P16LE: AVPixelFormat = 95;
4551pub const AVPixelFormat_AV_PIX_FMT_YUVA422P16BE: AVPixelFormat = 96;
4552pub const AVPixelFormat_AV_PIX_FMT_YUVA422P16LE: AVPixelFormat = 97;
4553pub const AVPixelFormat_AV_PIX_FMT_YUVA444P16BE: AVPixelFormat = 98;
4554pub const AVPixelFormat_AV_PIX_FMT_YUVA444P16LE: AVPixelFormat = 99;
4555pub const AVPixelFormat_AV_PIX_FMT_VDPAU: AVPixelFormat = 100;
4556pub const AVPixelFormat_AV_PIX_FMT_XYZ12LE: AVPixelFormat = 101;
4557pub const AVPixelFormat_AV_PIX_FMT_XYZ12BE: AVPixelFormat = 102;
4558pub const AVPixelFormat_AV_PIX_FMT_NV16: AVPixelFormat = 103;
4559pub const AVPixelFormat_AV_PIX_FMT_NV20LE: AVPixelFormat = 104;
4560pub const AVPixelFormat_AV_PIX_FMT_NV20BE: AVPixelFormat = 105;
4561pub const AVPixelFormat_AV_PIX_FMT_RGBA64BE: AVPixelFormat = 106;
4562pub const AVPixelFormat_AV_PIX_FMT_RGBA64LE: AVPixelFormat = 107;
4563pub const AVPixelFormat_AV_PIX_FMT_BGRA64BE: AVPixelFormat = 108;
4564pub const AVPixelFormat_AV_PIX_FMT_BGRA64LE: AVPixelFormat = 109;
4565pub const AVPixelFormat_AV_PIX_FMT_YVYU422: AVPixelFormat = 110;
4566pub const AVPixelFormat_AV_PIX_FMT_YA16BE: AVPixelFormat = 111;
4567pub const AVPixelFormat_AV_PIX_FMT_YA16LE: AVPixelFormat = 112;
4568pub const AVPixelFormat_AV_PIX_FMT_GBRAP: AVPixelFormat = 113;
4569pub const AVPixelFormat_AV_PIX_FMT_GBRAP16BE: AVPixelFormat = 114;
4570pub const AVPixelFormat_AV_PIX_FMT_GBRAP16LE: AVPixelFormat = 115;
4571pub const AVPixelFormat_AV_PIX_FMT_QSV: AVPixelFormat = 116;
4572pub const AVPixelFormat_AV_PIX_FMT_MMAL: AVPixelFormat = 117;
4573pub const AVPixelFormat_AV_PIX_FMT_D3D11VA_VLD: AVPixelFormat = 118;
4574pub const AVPixelFormat_AV_PIX_FMT_CUDA: AVPixelFormat = 119;
4575pub const AVPixelFormat_AV_PIX_FMT_0RGB: AVPixelFormat = 120;
4576pub const AVPixelFormat_AV_PIX_FMT_RGB0: AVPixelFormat = 121;
4577pub const AVPixelFormat_AV_PIX_FMT_0BGR: AVPixelFormat = 122;
4578pub const AVPixelFormat_AV_PIX_FMT_BGR0: AVPixelFormat = 123;
4579pub const AVPixelFormat_AV_PIX_FMT_YUV420P12BE: AVPixelFormat = 124;
4580pub const AVPixelFormat_AV_PIX_FMT_YUV420P12LE: AVPixelFormat = 125;
4581pub const AVPixelFormat_AV_PIX_FMT_YUV420P14BE: AVPixelFormat = 126;
4582pub const AVPixelFormat_AV_PIX_FMT_YUV420P14LE: AVPixelFormat = 127;
4583pub const AVPixelFormat_AV_PIX_FMT_YUV422P12BE: AVPixelFormat = 128;
4584pub const AVPixelFormat_AV_PIX_FMT_YUV422P12LE: AVPixelFormat = 129;
4585pub const AVPixelFormat_AV_PIX_FMT_YUV422P14BE: AVPixelFormat = 130;
4586pub const AVPixelFormat_AV_PIX_FMT_YUV422P14LE: AVPixelFormat = 131;
4587pub const AVPixelFormat_AV_PIX_FMT_YUV444P12BE: AVPixelFormat = 132;
4588pub const AVPixelFormat_AV_PIX_FMT_YUV444P12LE: AVPixelFormat = 133;
4589pub const AVPixelFormat_AV_PIX_FMT_YUV444P14BE: AVPixelFormat = 134;
4590pub const AVPixelFormat_AV_PIX_FMT_YUV444P14LE: AVPixelFormat = 135;
4591pub const AVPixelFormat_AV_PIX_FMT_GBRP12BE: AVPixelFormat = 136;
4592pub const AVPixelFormat_AV_PIX_FMT_GBRP12LE: AVPixelFormat = 137;
4593pub const AVPixelFormat_AV_PIX_FMT_GBRP14BE: AVPixelFormat = 138;
4594pub const AVPixelFormat_AV_PIX_FMT_GBRP14LE: AVPixelFormat = 139;
4595pub const AVPixelFormat_AV_PIX_FMT_YUVJ411P: AVPixelFormat = 140;
4596pub const AVPixelFormat_AV_PIX_FMT_BAYER_BGGR8: AVPixelFormat = 141;
4597pub const AVPixelFormat_AV_PIX_FMT_BAYER_RGGB8: AVPixelFormat = 142;
4598pub const AVPixelFormat_AV_PIX_FMT_BAYER_GBRG8: AVPixelFormat = 143;
4599pub const AVPixelFormat_AV_PIX_FMT_BAYER_GRBG8: AVPixelFormat = 144;
4600pub const AVPixelFormat_AV_PIX_FMT_BAYER_BGGR16LE: AVPixelFormat = 145;
4601pub const AVPixelFormat_AV_PIX_FMT_BAYER_BGGR16BE: AVPixelFormat = 146;
4602pub const AVPixelFormat_AV_PIX_FMT_BAYER_RGGB16LE: AVPixelFormat = 147;
4603pub const AVPixelFormat_AV_PIX_FMT_BAYER_RGGB16BE: AVPixelFormat = 148;
4604pub const AVPixelFormat_AV_PIX_FMT_BAYER_GBRG16LE: AVPixelFormat = 149;
4605pub const AVPixelFormat_AV_PIX_FMT_BAYER_GBRG16BE: AVPixelFormat = 150;
4606pub const AVPixelFormat_AV_PIX_FMT_BAYER_GRBG16LE: AVPixelFormat = 151;
4607pub const AVPixelFormat_AV_PIX_FMT_BAYER_GRBG16BE: AVPixelFormat = 152;
4608pub const AVPixelFormat_AV_PIX_FMT_XVMC: AVPixelFormat = 153;
4609pub const AVPixelFormat_AV_PIX_FMT_YUV440P10LE: AVPixelFormat = 154;
4610pub const AVPixelFormat_AV_PIX_FMT_YUV440P10BE: AVPixelFormat = 155;
4611pub const AVPixelFormat_AV_PIX_FMT_YUV440P12LE: AVPixelFormat = 156;
4612pub const AVPixelFormat_AV_PIX_FMT_YUV440P12BE: AVPixelFormat = 157;
4613pub const AVPixelFormat_AV_PIX_FMT_AYUV64LE: AVPixelFormat = 158;
4614pub const AVPixelFormat_AV_PIX_FMT_AYUV64BE: AVPixelFormat = 159;
4615pub const AVPixelFormat_AV_PIX_FMT_VIDEOTOOLBOX: AVPixelFormat = 160;
4616pub const AVPixelFormat_AV_PIX_FMT_P010LE: AVPixelFormat = 161;
4617pub const AVPixelFormat_AV_PIX_FMT_P010BE: AVPixelFormat = 162;
4618pub const AVPixelFormat_AV_PIX_FMT_GBRAP12BE: AVPixelFormat = 163;
4619pub const AVPixelFormat_AV_PIX_FMT_GBRAP12LE: AVPixelFormat = 164;
4620pub const AVPixelFormat_AV_PIX_FMT_GBRAP10BE: AVPixelFormat = 165;
4621pub const AVPixelFormat_AV_PIX_FMT_GBRAP10LE: AVPixelFormat = 166;
4622pub const AVPixelFormat_AV_PIX_FMT_MEDIACODEC: AVPixelFormat = 167;
4623pub const AVPixelFormat_AV_PIX_FMT_GRAY12BE: AVPixelFormat = 168;
4624pub const AVPixelFormat_AV_PIX_FMT_GRAY12LE: AVPixelFormat = 169;
4625pub const AVPixelFormat_AV_PIX_FMT_GRAY10BE: AVPixelFormat = 170;
4626pub const AVPixelFormat_AV_PIX_FMT_GRAY10LE: AVPixelFormat = 171;
4627pub const AVPixelFormat_AV_PIX_FMT_P016LE: AVPixelFormat = 172;
4628pub const AVPixelFormat_AV_PIX_FMT_P016BE: AVPixelFormat = 173;
4629pub const AVPixelFormat_AV_PIX_FMT_D3D11: AVPixelFormat = 174;
4630pub const AVPixelFormat_AV_PIX_FMT_GRAY9BE: AVPixelFormat = 175;
4631pub const AVPixelFormat_AV_PIX_FMT_GRAY9LE: AVPixelFormat = 176;
4632pub const AVPixelFormat_AV_PIX_FMT_GBRPF32BE: AVPixelFormat = 177;
4633pub const AVPixelFormat_AV_PIX_FMT_GBRPF32LE: AVPixelFormat = 178;
4634pub const AVPixelFormat_AV_PIX_FMT_GBRAPF32BE: AVPixelFormat = 179;
4635pub const AVPixelFormat_AV_PIX_FMT_GBRAPF32LE: AVPixelFormat = 180;
4636pub const AVPixelFormat_AV_PIX_FMT_DRM_PRIME: AVPixelFormat = 181;
4637pub const AVPixelFormat_AV_PIX_FMT_OPENCL: AVPixelFormat = 182;
4638pub const AVPixelFormat_AV_PIX_FMT_GRAY14BE: AVPixelFormat = 183;
4639pub const AVPixelFormat_AV_PIX_FMT_GRAY14LE: AVPixelFormat = 184;
4640pub const AVPixelFormat_AV_PIX_FMT_GRAYF32BE: AVPixelFormat = 185;
4641pub const AVPixelFormat_AV_PIX_FMT_GRAYF32LE: AVPixelFormat = 186;
4642pub const AVPixelFormat_AV_PIX_FMT_NB: AVPixelFormat = 187;
4643pub type AVPixelFormat = i32;
4644pub const AVColorPrimaries_AVCOL_PRI_RESERVED0: AVColorPrimaries = 0;
4645pub const AVColorPrimaries_AVCOL_PRI_BT709: AVColorPrimaries = 1;
4646pub const AVColorPrimaries_AVCOL_PRI_UNSPECIFIED: AVColorPrimaries = 2;
4647pub const AVColorPrimaries_AVCOL_PRI_RESERVED: AVColorPrimaries = 3;
4648pub const AVColorPrimaries_AVCOL_PRI_BT470M: AVColorPrimaries = 4;
4649pub const AVColorPrimaries_AVCOL_PRI_BT470BG: AVColorPrimaries = 5;
4650pub const AVColorPrimaries_AVCOL_PRI_SMPTE170M: AVColorPrimaries = 6;
4651pub const AVColorPrimaries_AVCOL_PRI_SMPTE240M: AVColorPrimaries = 7;
4652pub const AVColorPrimaries_AVCOL_PRI_FILM: AVColorPrimaries = 8;
4653pub const AVColorPrimaries_AVCOL_PRI_BT2020: AVColorPrimaries = 9;
4654pub const AVColorPrimaries_AVCOL_PRI_SMPTE428: AVColorPrimaries = 10;
4655pub const AVColorPrimaries_AVCOL_PRI_SMPTEST428_1: AVColorPrimaries = 10;
4656pub const AVColorPrimaries_AVCOL_PRI_SMPTE431: AVColorPrimaries = 11;
4657pub const AVColorPrimaries_AVCOL_PRI_SMPTE432: AVColorPrimaries = 12;
4658pub const AVColorPrimaries_AVCOL_PRI_JEDEC_P22: AVColorPrimaries = 22;
4659pub const AVColorPrimaries_AVCOL_PRI_NB: AVColorPrimaries = 23;
4660pub type AVColorPrimaries = u32;
4661pub const AVColorTransferCharacteristic_AVCOL_TRC_RESERVED0: AVColorTransferCharacteristic = 0;
4662pub const AVColorTransferCharacteristic_AVCOL_TRC_BT709: AVColorTransferCharacteristic = 1;
4663pub const AVColorTransferCharacteristic_AVCOL_TRC_UNSPECIFIED: AVColorTransferCharacteristic = 2;
4664pub const AVColorTransferCharacteristic_AVCOL_TRC_RESERVED: AVColorTransferCharacteristic = 3;
4665pub const AVColorTransferCharacteristic_AVCOL_TRC_GAMMA22: AVColorTransferCharacteristic = 4;
4666pub const AVColorTransferCharacteristic_AVCOL_TRC_GAMMA28: AVColorTransferCharacteristic = 5;
4667pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE170M: AVColorTransferCharacteristic = 6;
4668pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE240M: AVColorTransferCharacteristic = 7;
4669pub const AVColorTransferCharacteristic_AVCOL_TRC_LINEAR: AVColorTransferCharacteristic = 8;
4670pub const AVColorTransferCharacteristic_AVCOL_TRC_LOG: AVColorTransferCharacteristic = 9;
4671pub const AVColorTransferCharacteristic_AVCOL_TRC_LOG_SQRT: AVColorTransferCharacteristic = 10;
4672pub const AVColorTransferCharacteristic_AVCOL_TRC_IEC61966_2_4: AVColorTransferCharacteristic = 11;
4673pub const AVColorTransferCharacteristic_AVCOL_TRC_BT1361_ECG: AVColorTransferCharacteristic = 12;
4674pub const AVColorTransferCharacteristic_AVCOL_TRC_IEC61966_2_1: AVColorTransferCharacteristic = 13;
4675pub const AVColorTransferCharacteristic_AVCOL_TRC_BT2020_10: AVColorTransferCharacteristic = 14;
4676pub const AVColorTransferCharacteristic_AVCOL_TRC_BT2020_12: AVColorTransferCharacteristic = 15;
4677pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE2084: AVColorTransferCharacteristic = 16;
4678pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTEST2084: AVColorTransferCharacteristic = 16;
4679pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE428: AVColorTransferCharacteristic = 17;
4680pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTEST428_1: AVColorTransferCharacteristic = 17;
4681pub const AVColorTransferCharacteristic_AVCOL_TRC_ARIB_STD_B67: AVColorTransferCharacteristic = 18;
4682pub const AVColorTransferCharacteristic_AVCOL_TRC_NB: AVColorTransferCharacteristic = 19;
4683pub type AVColorTransferCharacteristic = u32;
4684pub const AVColorSpace_AVCOL_SPC_RGB: AVColorSpace = 0;
4685pub const AVColorSpace_AVCOL_SPC_BT709: AVColorSpace = 1;
4686pub const AVColorSpace_AVCOL_SPC_UNSPECIFIED: AVColorSpace = 2;
4687pub const AVColorSpace_AVCOL_SPC_RESERVED: AVColorSpace = 3;
4688pub const AVColorSpace_AVCOL_SPC_FCC: AVColorSpace = 4;
4689pub const AVColorSpace_AVCOL_SPC_BT470BG: AVColorSpace = 5;
4690pub const AVColorSpace_AVCOL_SPC_SMPTE170M: AVColorSpace = 6;
4691pub const AVColorSpace_AVCOL_SPC_SMPTE240M: AVColorSpace = 7;
4692pub const AVColorSpace_AVCOL_SPC_YCGCO: AVColorSpace = 8;
4693pub const AVColorSpace_AVCOL_SPC_YCOCG: AVColorSpace = 8;
4694pub const AVColorSpace_AVCOL_SPC_BT2020_NCL: AVColorSpace = 9;
4695pub const AVColorSpace_AVCOL_SPC_BT2020_CL: AVColorSpace = 10;
4696pub const AVColorSpace_AVCOL_SPC_SMPTE2085: AVColorSpace = 11;
4697pub const AVColorSpace_AVCOL_SPC_CHROMA_DERIVED_NCL: AVColorSpace = 12;
4698pub const AVColorSpace_AVCOL_SPC_CHROMA_DERIVED_CL: AVColorSpace = 13;
4699pub const AVColorSpace_AVCOL_SPC_ICTCP: AVColorSpace = 14;
4700pub const AVColorSpace_AVCOL_SPC_NB: AVColorSpace = 15;
4701pub type AVColorSpace = u32;
4702pub const AVColorRange_AVCOL_RANGE_UNSPECIFIED: AVColorRange = 0;
4703pub const AVColorRange_AVCOL_RANGE_MPEG: AVColorRange = 1;
4704pub const AVColorRange_AVCOL_RANGE_JPEG: AVColorRange = 2;
4705pub const AVColorRange_AVCOL_RANGE_NB: AVColorRange = 3;
4706pub type AVColorRange = u32;
4707pub const AVChromaLocation_AVCHROMA_LOC_UNSPECIFIED: AVChromaLocation = 0;
4708pub const AVChromaLocation_AVCHROMA_LOC_LEFT: AVChromaLocation = 1;
4709pub const AVChromaLocation_AVCHROMA_LOC_CENTER: AVChromaLocation = 2;
4710pub const AVChromaLocation_AVCHROMA_LOC_TOPLEFT: AVChromaLocation = 3;
4711pub const AVChromaLocation_AVCHROMA_LOC_TOP: AVChromaLocation = 4;
4712pub const AVChromaLocation_AVCHROMA_LOC_BOTTOMLEFT: AVChromaLocation = 5;
4713pub const AVChromaLocation_AVCHROMA_LOC_BOTTOM: AVChromaLocation = 6;
4714pub const AVChromaLocation_AVCHROMA_LOC_NB: AVChromaLocation = 7;
4715pub type AVChromaLocation = u32;
4716extern "C" {
4717 pub fn av_int_list_length_for_size(
4718 elsize: ::std::os::raw::c_uint,
4719 list: *const ::std::os::raw::c_void,
4720 term: u64,
4721 ) -> ::std::os::raw::c_uint;
4722}
4723extern "C" {
4724 pub fn av_fopen_utf8(
4725 path: *const ::std::os::raw::c_char,
4726 mode: *const ::std::os::raw::c_char,
4727 ) -> *mut FILE;
4728}
4729extern "C" {
4730 pub fn av_get_time_base_q() -> AVRational;
4731}
4732extern "C" {
4733 pub fn av_fourcc_make_string(
4734 buf: *mut ::std::os::raw::c_char,
4735 fourcc: u32,
4736 ) -> *mut ::std::os::raw::c_char;
4737}
4738pub const AVSampleFormat_AV_SAMPLE_FMT_NONE: AVSampleFormat = -1;
4739pub const AVSampleFormat_AV_SAMPLE_FMT_U8: AVSampleFormat = 0;
4740pub const AVSampleFormat_AV_SAMPLE_FMT_S16: AVSampleFormat = 1;
4741pub const AVSampleFormat_AV_SAMPLE_FMT_S32: AVSampleFormat = 2;
4742pub const AVSampleFormat_AV_SAMPLE_FMT_FLT: AVSampleFormat = 3;
4743pub const AVSampleFormat_AV_SAMPLE_FMT_DBL: AVSampleFormat = 4;
4744pub const AVSampleFormat_AV_SAMPLE_FMT_U8P: AVSampleFormat = 5;
4745pub const AVSampleFormat_AV_SAMPLE_FMT_S16P: AVSampleFormat = 6;
4746pub const AVSampleFormat_AV_SAMPLE_FMT_S32P: AVSampleFormat = 7;
4747pub const AVSampleFormat_AV_SAMPLE_FMT_FLTP: AVSampleFormat = 8;
4748pub const AVSampleFormat_AV_SAMPLE_FMT_DBLP: AVSampleFormat = 9;
4749pub const AVSampleFormat_AV_SAMPLE_FMT_S64: AVSampleFormat = 10;
4750pub const AVSampleFormat_AV_SAMPLE_FMT_S64P: AVSampleFormat = 11;
4751pub const AVSampleFormat_AV_SAMPLE_FMT_NB: AVSampleFormat = 12;
4752pub type AVSampleFormat = i32;
4753extern "C" {
4754 pub fn av_get_sample_fmt_name(sample_fmt: AVSampleFormat) -> *const ::std::os::raw::c_char;
4755}
4756extern "C" {
4757 pub fn av_get_sample_fmt(name: *const ::std::os::raw::c_char) -> AVSampleFormat;
4758}
4759extern "C" {
4760 pub fn av_get_alt_sample_fmt(
4761 sample_fmt: AVSampleFormat,
4762 planar: ::std::os::raw::c_int,
4763 ) -> AVSampleFormat;
4764}
4765extern "C" {
4766 pub fn av_get_packed_sample_fmt(sample_fmt: AVSampleFormat) -> AVSampleFormat;
4767}
4768extern "C" {
4769 pub fn av_get_planar_sample_fmt(sample_fmt: AVSampleFormat) -> AVSampleFormat;
4770}
4771extern "C" {
4772 pub fn av_get_sample_fmt_string(
4773 buf: *mut ::std::os::raw::c_char,
4774 buf_size: ::std::os::raw::c_int,
4775 sample_fmt: AVSampleFormat,
4776 ) -> *mut ::std::os::raw::c_char;
4777}
4778extern "C" {
4779 pub fn av_get_bytes_per_sample(sample_fmt: AVSampleFormat) -> ::std::os::raw::c_int;
4780}
4781extern "C" {
4782 pub fn av_sample_fmt_is_planar(sample_fmt: AVSampleFormat) -> ::std::os::raw::c_int;
4783}
4784extern "C" {
4785 pub fn av_samples_get_buffer_size(
4786 linesize: *mut ::std::os::raw::c_int,
4787 nb_channels: ::std::os::raw::c_int,
4788 nb_samples: ::std::os::raw::c_int,
4789 sample_fmt: AVSampleFormat,
4790 align: ::std::os::raw::c_int,
4791 ) -> ::std::os::raw::c_int;
4792}
4793extern "C" {
4794 pub fn av_samples_fill_arrays(
4795 audio_data: *mut *mut u8,
4796 linesize: *mut ::std::os::raw::c_int,
4797 buf: *const u8,
4798 nb_channels: ::std::os::raw::c_int,
4799 nb_samples: ::std::os::raw::c_int,
4800 sample_fmt: AVSampleFormat,
4801 align: ::std::os::raw::c_int,
4802 ) -> ::std::os::raw::c_int;
4803}
4804extern "C" {
4805 pub fn av_samples_alloc(
4806 audio_data: *mut *mut u8,
4807 linesize: *mut ::std::os::raw::c_int,
4808 nb_channels: ::std::os::raw::c_int,
4809 nb_samples: ::std::os::raw::c_int,
4810 sample_fmt: AVSampleFormat,
4811 align: ::std::os::raw::c_int,
4812 ) -> ::std::os::raw::c_int;
4813}
4814extern "C" {
4815 pub fn av_samples_alloc_array_and_samples(
4816 audio_data: *mut *mut *mut u8,
4817 linesize: *mut ::std::os::raw::c_int,
4818 nb_channels: ::std::os::raw::c_int,
4819 nb_samples: ::std::os::raw::c_int,
4820 sample_fmt: AVSampleFormat,
4821 align: ::std::os::raw::c_int,
4822 ) -> ::std::os::raw::c_int;
4823}
4824extern "C" {
4825 pub fn av_samples_copy(
4826 dst: *mut *mut u8,
4827 src: *const *mut u8,
4828 dst_offset: ::std::os::raw::c_int,
4829 src_offset: ::std::os::raw::c_int,
4830 nb_samples: ::std::os::raw::c_int,
4831 nb_channels: ::std::os::raw::c_int,
4832 sample_fmt: AVSampleFormat,
4833 ) -> ::std::os::raw::c_int;
4834}
4835extern "C" {
4836 pub fn av_samples_set_silence(
4837 audio_data: *mut *mut u8,
4838 offset: ::std::os::raw::c_int,
4839 nb_samples: ::std::os::raw::c_int,
4840 nb_channels: ::std::os::raw::c_int,
4841 sample_fmt: AVSampleFormat,
4842 ) -> ::std::os::raw::c_int;
4843}
4844#[repr(C)]
4845#[derive(Debug, Copy, Clone)]
4846pub struct AVBuffer {
4847 _unused: [u8; 0],
4848}
4849#[repr(C)]
4850#[derive(Debug, Copy, Clone)]
4851pub struct AVBufferRef {
4852 pub buffer: *mut AVBuffer,
4853 pub data: *mut u8,
4854 pub size: ::std::os::raw::c_int,
4855}
4856extern "C" {
4857 pub fn av_buffer_alloc(size: ::std::os::raw::c_int) -> *mut AVBufferRef;
4858}
4859extern "C" {
4860 pub fn av_buffer_allocz(size: ::std::os::raw::c_int) -> *mut AVBufferRef;
4861}
4862extern "C" {
4863 pub fn av_buffer_create(
4864 data: *mut u8,
4865 size: ::std::os::raw::c_int,
4866 free: ::std::option::Option<
4867 unsafe extern "C" fn(data: *mut ::std::os::raw::c_void, size: *mut u8),
4868 >,
4869 opaque: *mut ::std::os::raw::c_void,
4870 flags: ::std::os::raw::c_int,
4871 ) -> *mut AVBufferRef;
4872}
4873extern "C" {
4874 pub fn av_buffer_default_free(opaque: *mut ::std::os::raw::c_void, data: *mut u8);
4875}
4876extern "C" {
4877 pub fn av_buffer_ref(buf: *mut AVBufferRef) -> *mut AVBufferRef;
4878}
4879extern "C" {
4880 pub fn av_buffer_unref(buf: *mut *mut AVBufferRef);
4881}
4882extern "C" {
4883 pub fn av_buffer_is_writable(buf: *const AVBufferRef) -> ::std::os::raw::c_int;
4884}
4885extern "C" {
4886 pub fn av_buffer_get_opaque(buf: *const AVBufferRef) -> *mut ::std::os::raw::c_void;
4887}
4888extern "C" {
4889 pub fn av_buffer_get_ref_count(buf: *const AVBufferRef) -> ::std::os::raw::c_int;
4890}
4891extern "C" {
4892 pub fn av_buffer_make_writable(buf: *mut *mut AVBufferRef) -> ::std::os::raw::c_int;
4893}
4894extern "C" {
4895 pub fn av_buffer_realloc(
4896 buf: *mut *mut AVBufferRef,
4897 size: ::std::os::raw::c_int,
4898 ) -> ::std::os::raw::c_int;
4899}
4900#[repr(C)]
4901#[derive(Debug, Copy, Clone)]
4902pub struct AVBufferPool {
4903 _unused: [u8; 0],
4904}
4905extern "C" {
4906 pub fn av_buffer_pool_init(
4907 size: ::std::os::raw::c_int,
4908 alloc: ::std::option::Option<
4909 unsafe extern "C" fn(size: ::std::os::raw::c_int) -> *mut AVBufferRef,
4910 >,
4911 ) -> *mut AVBufferPool;
4912}
4913extern "C" {
4914 pub fn av_buffer_pool_init2(
4915 size: ::std::os::raw::c_int,
4916 opaque: *mut ::std::os::raw::c_void,
4917 alloc: ::std::option::Option<
4918 unsafe extern "C" fn(
4919 size: *mut ::std::os::raw::c_void,
4920 opaque: ::std::os::raw::c_int,
4921 ) -> *mut AVBufferRef,
4922 >,
4923 pool_free: ::std::option::Option<unsafe extern "C" fn(size: *mut ::std::os::raw::c_void)>,
4924 ) -> *mut AVBufferPool;
4925}
4926extern "C" {
4927 pub fn av_buffer_pool_uninit(pool: *mut *mut AVBufferPool);
4928}
4929extern "C" {
4930 pub fn av_buffer_pool_get(pool: *mut AVBufferPool) -> *mut AVBufferRef;
4931}
4932extern "C" {
4933 pub fn av_get_cpu_flags() -> ::std::os::raw::c_int;
4934}
4935extern "C" {
4936 pub fn av_force_cpu_flags(flags: ::std::os::raw::c_int);
4937}
4938extern "C" {
4939 pub fn av_set_cpu_flags_mask(mask: ::std::os::raw::c_int);
4940}
4941extern "C" {
4942 pub fn av_parse_cpu_flags(s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
4943}
4944extern "C" {
4945 pub fn av_parse_cpu_caps(
4946 flags: *mut ::std::os::raw::c_uint,
4947 s: *const ::std::os::raw::c_char,
4948 ) -> ::std::os::raw::c_int;
4949}
4950extern "C" {
4951 pub fn av_cpu_count() -> ::std::os::raw::c_int;
4952}
4953extern "C" {
4954 pub fn av_cpu_max_align() -> usize;
4955}
4956pub const AVMatrixEncoding_AV_MATRIX_ENCODING_NONE: AVMatrixEncoding = 0;
4957pub const AVMatrixEncoding_AV_MATRIX_ENCODING_DOLBY: AVMatrixEncoding = 1;
4958pub const AVMatrixEncoding_AV_MATRIX_ENCODING_DPLII: AVMatrixEncoding = 2;
4959pub const AVMatrixEncoding_AV_MATRIX_ENCODING_DPLIIX: AVMatrixEncoding = 3;
4960pub const AVMatrixEncoding_AV_MATRIX_ENCODING_DPLIIZ: AVMatrixEncoding = 4;
4961pub const AVMatrixEncoding_AV_MATRIX_ENCODING_DOLBYEX: AVMatrixEncoding = 5;
4962pub const AVMatrixEncoding_AV_MATRIX_ENCODING_DOLBYHEADPHONE: AVMatrixEncoding = 6;
4963pub const AVMatrixEncoding_AV_MATRIX_ENCODING_NB: AVMatrixEncoding = 7;
4964pub type AVMatrixEncoding = u32;
4965extern "C" {
4966 pub fn av_get_channel_layout(name: *const ::std::os::raw::c_char) -> u64;
4967}
4968extern "C" {
4969 pub fn av_get_extended_channel_layout(
4970 name: *const ::std::os::raw::c_char,
4971 channel_layout: *mut u64,
4972 nb_channels: *mut ::std::os::raw::c_int,
4973 ) -> ::std::os::raw::c_int;
4974}
4975extern "C" {
4976 pub fn av_get_channel_layout_string(
4977 buf: *mut ::std::os::raw::c_char,
4978 buf_size: ::std::os::raw::c_int,
4979 nb_channels: ::std::os::raw::c_int,
4980 channel_layout: u64,
4981 );
4982}
4983#[repr(C)]
4984#[derive(Debug, Copy, Clone)]
4985pub struct AVBPrint {
4986 _unused: [u8; 0],
4987}
4988extern "C" {
4989 pub fn av_bprint_channel_layout(
4990 bp: *mut AVBPrint,
4991 nb_channels: ::std::os::raw::c_int,
4992 channel_layout: u64,
4993 );
4994}
4995extern "C" {
4996 pub fn av_get_channel_layout_nb_channels(channel_layout: u64) -> ::std::os::raw::c_int;
4997}
4998extern "C" {
4999 pub fn av_get_default_channel_layout(nb_channels: ::std::os::raw::c_int) -> i64;
5000}
5001extern "C" {
5002 pub fn av_get_channel_layout_channel_index(
5003 channel_layout: u64,
5004 channel: u64,
5005 ) -> ::std::os::raw::c_int;
5006}
5007extern "C" {
5008 pub fn av_channel_layout_extract_channel(
5009 channel_layout: u64,
5010 index: ::std::os::raw::c_int,
5011 ) -> u64;
5012}
5013extern "C" {
5014 pub fn av_get_channel_name(channel: u64) -> *const ::std::os::raw::c_char;
5015}
5016extern "C" {
5017 pub fn av_get_channel_description(channel: u64) -> *const ::std::os::raw::c_char;
5018}
5019extern "C" {
5020 pub fn av_get_standard_channel_layout(
5021 index: ::std::os::raw::c_uint,
5022 layout: *mut u64,
5023 name: *mut *const ::std::os::raw::c_char,
5024 ) -> ::std::os::raw::c_int;
5025}
5026#[repr(C)]
5027#[derive(Debug, Copy, Clone)]
5028pub struct AVDictionaryEntry {
5029 pub key: *mut ::std::os::raw::c_char,
5030 pub value: *mut ::std::os::raw::c_char,
5031}
5032#[repr(C)]
5033#[derive(Debug, Copy, Clone)]
5034pub struct AVDictionary {
5035 _unused: [u8; 0],
5036}
5037extern "C" {
5038 pub fn av_dict_get(
5039 m: *const AVDictionary,
5040 key: *const ::std::os::raw::c_char,
5041 prev: *const AVDictionaryEntry,
5042 flags: ::std::os::raw::c_int,
5043 ) -> *mut AVDictionaryEntry;
5044}
5045extern "C" {
5046 pub fn av_dict_count(m: *const AVDictionary) -> ::std::os::raw::c_int;
5047}
5048extern "C" {
5049 pub fn av_dict_set(
5050 pm: *mut *mut AVDictionary,
5051 key: *const ::std::os::raw::c_char,
5052 value: *const ::std::os::raw::c_char,
5053 flags: ::std::os::raw::c_int,
5054 ) -> ::std::os::raw::c_int;
5055}
5056extern "C" {
5057 pub fn av_dict_set_int(
5058 pm: *mut *mut AVDictionary,
5059 key: *const ::std::os::raw::c_char,
5060 value: i64,
5061 flags: ::std::os::raw::c_int,
5062 ) -> ::std::os::raw::c_int;
5063}
5064extern "C" {
5065 pub fn av_dict_parse_string(
5066 pm: *mut *mut AVDictionary,
5067 str: *const ::std::os::raw::c_char,
5068 key_val_sep: *const ::std::os::raw::c_char,
5069 pairs_sep: *const ::std::os::raw::c_char,
5070 flags: ::std::os::raw::c_int,
5071 ) -> ::std::os::raw::c_int;
5072}
5073extern "C" {
5074 pub fn av_dict_copy(
5075 dst: *mut *mut AVDictionary,
5076 src: *const AVDictionary,
5077 flags: ::std::os::raw::c_int,
5078 ) -> ::std::os::raw::c_int;
5079}
5080extern "C" {
5081 pub fn av_dict_free(m: *mut *mut AVDictionary);
5082}
5083extern "C" {
5084 pub fn av_dict_get_string(
5085 m: *const AVDictionary,
5086 buffer: *mut *mut ::std::os::raw::c_char,
5087 key_val_sep: ::std::os::raw::c_char,
5088 pairs_sep: ::std::os::raw::c_char,
5089 ) -> ::std::os::raw::c_int;
5090}
5091pub const AVFrameSideDataType_AV_FRAME_DATA_PANSCAN: AVFrameSideDataType = 0;
5092pub const AVFrameSideDataType_AV_FRAME_DATA_A53_CC: AVFrameSideDataType = 1;
5093pub const AVFrameSideDataType_AV_FRAME_DATA_STEREO3D: AVFrameSideDataType = 2;
5094pub const AVFrameSideDataType_AV_FRAME_DATA_MATRIXENCODING: AVFrameSideDataType = 3;
5095pub const AVFrameSideDataType_AV_FRAME_DATA_DOWNMIX_INFO: AVFrameSideDataType = 4;
5096pub const AVFrameSideDataType_AV_FRAME_DATA_REPLAYGAIN: AVFrameSideDataType = 5;
5097pub const AVFrameSideDataType_AV_FRAME_DATA_DISPLAYMATRIX: AVFrameSideDataType = 6;
5098pub const AVFrameSideDataType_AV_FRAME_DATA_AFD: AVFrameSideDataType = 7;
5099pub const AVFrameSideDataType_AV_FRAME_DATA_MOTION_VECTORS: AVFrameSideDataType = 8;
5100pub const AVFrameSideDataType_AV_FRAME_DATA_SKIP_SAMPLES: AVFrameSideDataType = 9;
5101pub const AVFrameSideDataType_AV_FRAME_DATA_AUDIO_SERVICE_TYPE: AVFrameSideDataType = 10;
5102pub const AVFrameSideDataType_AV_FRAME_DATA_MASTERING_DISPLAY_METADATA: AVFrameSideDataType = 11;
5103pub const AVFrameSideDataType_AV_FRAME_DATA_GOP_TIMECODE: AVFrameSideDataType = 12;
5104pub const AVFrameSideDataType_AV_FRAME_DATA_SPHERICAL: AVFrameSideDataType = 13;
5105pub const AVFrameSideDataType_AV_FRAME_DATA_CONTENT_LIGHT_LEVEL: AVFrameSideDataType = 14;
5106pub const AVFrameSideDataType_AV_FRAME_DATA_ICC_PROFILE: AVFrameSideDataType = 15;
5107pub const AVFrameSideDataType_AV_FRAME_DATA_QP_TABLE_PROPERTIES: AVFrameSideDataType = 16;
5108pub const AVFrameSideDataType_AV_FRAME_DATA_QP_TABLE_DATA: AVFrameSideDataType = 17;
5109pub const AVFrameSideDataType_AV_FRAME_DATA_S12M_TIMECODE: AVFrameSideDataType = 18;
5110pub type AVFrameSideDataType = u32;
5111pub const AVActiveFormatDescription_AV_AFD_SAME: AVActiveFormatDescription = 8;
5112pub const AVActiveFormatDescription_AV_AFD_4_3: AVActiveFormatDescription = 9;
5113pub const AVActiveFormatDescription_AV_AFD_16_9: AVActiveFormatDescription = 10;
5114pub const AVActiveFormatDescription_AV_AFD_14_9: AVActiveFormatDescription = 11;
5115pub const AVActiveFormatDescription_AV_AFD_4_3_SP_14_9: AVActiveFormatDescription = 13;
5116pub const AVActiveFormatDescription_AV_AFD_16_9_SP_14_9: AVActiveFormatDescription = 14;
5117pub const AVActiveFormatDescription_AV_AFD_SP_4_3: AVActiveFormatDescription = 15;
5118pub type AVActiveFormatDescription = u32;
5119#[repr(C)]
5120#[derive(Debug, Copy, Clone)]
5121pub struct AVFrameSideData {
5122 pub type_: AVFrameSideDataType,
5123 pub data: *mut u8,
5124 pub size: ::std::os::raw::c_int,
5125 pub metadata: *mut AVDictionary,
5126 pub buf: *mut AVBufferRef,
5127}
5128#[repr(C)]
5129#[derive(Debug, Copy, Clone)]
5130pub struct AVFrame {
5131 pub data: [*mut u8; 8usize],
5132 pub linesize: [::std::os::raw::c_int; 8usize],
5133 pub extended_data: *mut *mut u8,
5134 pub width: ::std::os::raw::c_int,
5135 pub height: ::std::os::raw::c_int,
5136 pub nb_samples: ::std::os::raw::c_int,
5137 pub format: ::std::os::raw::c_int,
5138 pub key_frame: ::std::os::raw::c_int,
5139 pub pict_type: AVPictureType,
5140 pub sample_aspect_ratio: AVRational,
5141 pub pts: i64,
5142 pub pkt_pts: i64,
5143 pub pkt_dts: i64,
5144 pub coded_picture_number: ::std::os::raw::c_int,
5145 pub display_picture_number: ::std::os::raw::c_int,
5146 pub quality: ::std::os::raw::c_int,
5147 pub opaque: *mut ::std::os::raw::c_void,
5148 pub error: [u64; 8usize],
5149 pub repeat_pict: ::std::os::raw::c_int,
5150 pub interlaced_frame: ::std::os::raw::c_int,
5151 pub top_field_first: ::std::os::raw::c_int,
5152 pub palette_has_changed: ::std::os::raw::c_int,
5153 pub reordered_opaque: i64,
5154 pub sample_rate: ::std::os::raw::c_int,
5155 pub channel_layout: u64,
5156 pub buf: [*mut AVBufferRef; 8usize],
5157 pub extended_buf: *mut *mut AVBufferRef,
5158 pub nb_extended_buf: ::std::os::raw::c_int,
5159 pub side_data: *mut *mut AVFrameSideData,
5160 pub nb_side_data: ::std::os::raw::c_int,
5161 pub flags: ::std::os::raw::c_int,
5162 pub color_range: AVColorRange,
5163 pub color_primaries: AVColorPrimaries,
5164 pub color_trc: AVColorTransferCharacteristic,
5165 pub colorspace: AVColorSpace,
5166 pub chroma_location: AVChromaLocation,
5167 pub best_effort_timestamp: i64,
5168 pub pkt_pos: i64,
5169 pub pkt_duration: i64,
5170 pub metadata: *mut AVDictionary,
5171 pub decode_error_flags: ::std::os::raw::c_int,
5172 pub channels: ::std::os::raw::c_int,
5173 pub pkt_size: ::std::os::raw::c_int,
5174 pub qscale_table: *mut i8,
5175 pub qstride: ::std::os::raw::c_int,
5176 pub qscale_type: ::std::os::raw::c_int,
5177 pub qp_table_buf: *mut AVBufferRef,
5178 pub hw_frames_ctx: *mut AVBufferRef,
5179 pub opaque_ref: *mut AVBufferRef,
5180 pub crop_top: usize,
5181 pub crop_bottom: usize,
5182 pub crop_left: usize,
5183 pub crop_right: usize,
5184 pub private_ref: *mut AVBufferRef,
5185}
5186extern "C" {
5187 pub fn av_frame_get_best_effort_timestamp(frame: *const AVFrame) -> i64;
5188}
5189extern "C" {
5190 pub fn av_frame_set_best_effort_timestamp(frame: *mut AVFrame, val: i64);
5191}
5192extern "C" {
5193 pub fn av_frame_get_pkt_duration(frame: *const AVFrame) -> i64;
5194}
5195extern "C" {
5196 pub fn av_frame_set_pkt_duration(frame: *mut AVFrame, val: i64);
5197}
5198extern "C" {
5199 pub fn av_frame_get_pkt_pos(frame: *const AVFrame) -> i64;
5200}
5201extern "C" {
5202 pub fn av_frame_set_pkt_pos(frame: *mut AVFrame, val: i64);
5203}
5204extern "C" {
5205 pub fn av_frame_get_channel_layout(frame: *const AVFrame) -> i64;
5206}
5207extern "C" {
5208 pub fn av_frame_set_channel_layout(frame: *mut AVFrame, val: i64);
5209}
5210extern "C" {
5211 pub fn av_frame_get_channels(frame: *const AVFrame) -> ::std::os::raw::c_int;
5212}
5213extern "C" {
5214 pub fn av_frame_set_channels(frame: *mut AVFrame, val: ::std::os::raw::c_int);
5215}
5216extern "C" {
5217 pub fn av_frame_get_sample_rate(frame: *const AVFrame) -> ::std::os::raw::c_int;
5218}
5219extern "C" {
5220 pub fn av_frame_set_sample_rate(frame: *mut AVFrame, val: ::std::os::raw::c_int);
5221}
5222extern "C" {
5223 pub fn av_frame_get_metadata(frame: *const AVFrame) -> *mut AVDictionary;
5224}
5225extern "C" {
5226 pub fn av_frame_set_metadata(frame: *mut AVFrame, val: *mut AVDictionary);
5227}
5228extern "C" {
5229 pub fn av_frame_get_decode_error_flags(frame: *const AVFrame) -> ::std::os::raw::c_int;
5230}
5231extern "C" {
5232 pub fn av_frame_set_decode_error_flags(frame: *mut AVFrame, val: ::std::os::raw::c_int);
5233}
5234extern "C" {
5235 pub fn av_frame_get_pkt_size(frame: *const AVFrame) -> ::std::os::raw::c_int;
5236}
5237extern "C" {
5238 pub fn av_frame_set_pkt_size(frame: *mut AVFrame, val: ::std::os::raw::c_int);
5239}
5240extern "C" {
5241 pub fn av_frame_get_qp_table(
5242 f: *mut AVFrame,
5243 stride: *mut ::std::os::raw::c_int,
5244 type_: *mut ::std::os::raw::c_int,
5245 ) -> *mut i8;
5246}
5247extern "C" {
5248 pub fn av_frame_set_qp_table(
5249 f: *mut AVFrame,
5250 buf: *mut AVBufferRef,
5251 stride: ::std::os::raw::c_int,
5252 type_: ::std::os::raw::c_int,
5253 ) -> ::std::os::raw::c_int;
5254}
5255extern "C" {
5256 pub fn av_frame_get_colorspace(frame: *const AVFrame) -> AVColorSpace;
5257}
5258extern "C" {
5259 pub fn av_frame_set_colorspace(frame: *mut AVFrame, val: AVColorSpace);
5260}
5261extern "C" {
5262 pub fn av_frame_get_color_range(frame: *const AVFrame) -> AVColorRange;
5263}
5264extern "C" {
5265 pub fn av_frame_set_color_range(frame: *mut AVFrame, val: AVColorRange);
5266}
5267extern "C" {
5268 pub fn av_get_colorspace_name(val: AVColorSpace) -> *const ::std::os::raw::c_char;
5269}
5270extern "C" {
5271 pub fn av_frame_alloc() -> *mut AVFrame;
5272}
5273extern "C" {
5274 pub fn av_frame_free(frame: *mut *mut AVFrame);
5275}
5276extern "C" {
5277 pub fn av_frame_ref(dst: *mut AVFrame, src: *const AVFrame) -> ::std::os::raw::c_int;
5278}
5279extern "C" {
5280 pub fn av_frame_clone(src: *const AVFrame) -> *mut AVFrame;
5281}
5282extern "C" {
5283 pub fn av_frame_unref(frame: *mut AVFrame);
5284}
5285extern "C" {
5286 pub fn av_frame_move_ref(dst: *mut AVFrame, src: *mut AVFrame);
5287}
5288extern "C" {
5289 pub fn av_frame_get_buffer(
5290 frame: *mut AVFrame,
5291 align: ::std::os::raw::c_int,
5292 ) -> ::std::os::raw::c_int;
5293}
5294extern "C" {
5295 pub fn av_frame_is_writable(frame: *mut AVFrame) -> ::std::os::raw::c_int;
5296}
5297extern "C" {
5298 pub fn av_frame_make_writable(frame: *mut AVFrame) -> ::std::os::raw::c_int;
5299}
5300extern "C" {
5301 pub fn av_frame_copy(dst: *mut AVFrame, src: *const AVFrame) -> ::std::os::raw::c_int;
5302}
5303extern "C" {
5304 pub fn av_frame_copy_props(dst: *mut AVFrame, src: *const AVFrame) -> ::std::os::raw::c_int;
5305}
5306extern "C" {
5307 pub fn av_frame_get_plane_buffer(
5308 frame: *mut AVFrame,
5309 plane: ::std::os::raw::c_int,
5310 ) -> *mut AVBufferRef;
5311}
5312extern "C" {
5313 pub fn av_frame_new_side_data(
5314 frame: *mut AVFrame,
5315 type_: AVFrameSideDataType,
5316 size: ::std::os::raw::c_int,
5317 ) -> *mut AVFrameSideData;
5318}
5319extern "C" {
5320 pub fn av_frame_new_side_data_from_buf(
5321 frame: *mut AVFrame,
5322 type_: AVFrameSideDataType,
5323 buf: *mut AVBufferRef,
5324 ) -> *mut AVFrameSideData;
5325}
5326extern "C" {
5327 pub fn av_frame_get_side_data(
5328 frame: *const AVFrame,
5329 type_: AVFrameSideDataType,
5330 ) -> *mut AVFrameSideData;
5331}
5332extern "C" {
5333 pub fn av_frame_remove_side_data(frame: *mut AVFrame, type_: AVFrameSideDataType);
5334}
5335pub const AV_FRAME_CROP_UNALIGNED: _bindgen_ty_2 = 1;
5336pub type _bindgen_ty_2 = u32;
5337extern "C" {
5338 pub fn av_frame_apply_cropping(
5339 frame: *mut AVFrame,
5340 flags: ::std::os::raw::c_int,
5341 ) -> ::std::os::raw::c_int;
5342}
5343extern "C" {
5344 pub fn av_frame_side_data_name(type_: AVFrameSideDataType) -> *const ::std::os::raw::c_char;
5345}
5346pub const AVHWDeviceType_AV_HWDEVICE_TYPE_NONE: AVHWDeviceType = 0;
5347pub const AVHWDeviceType_AV_HWDEVICE_TYPE_VDPAU: AVHWDeviceType = 1;
5348pub const AVHWDeviceType_AV_HWDEVICE_TYPE_CUDA: AVHWDeviceType = 2;
5349pub const AVHWDeviceType_AV_HWDEVICE_TYPE_VAAPI: AVHWDeviceType = 3;
5350pub const AVHWDeviceType_AV_HWDEVICE_TYPE_DXVA2: AVHWDeviceType = 4;
5351pub const AVHWDeviceType_AV_HWDEVICE_TYPE_QSV: AVHWDeviceType = 5;
5352pub const AVHWDeviceType_AV_HWDEVICE_TYPE_VIDEOTOOLBOX: AVHWDeviceType = 6;
5353pub const AVHWDeviceType_AV_HWDEVICE_TYPE_D3D11VA: AVHWDeviceType = 7;
5354pub const AVHWDeviceType_AV_HWDEVICE_TYPE_DRM: AVHWDeviceType = 8;
5355pub const AVHWDeviceType_AV_HWDEVICE_TYPE_OPENCL: AVHWDeviceType = 9;
5356pub const AVHWDeviceType_AV_HWDEVICE_TYPE_MEDIACODEC: AVHWDeviceType = 10;
5357pub type AVHWDeviceType = u32;
5358#[repr(C)]
5359#[derive(Debug, Copy, Clone)]
5360pub struct AVHWDeviceInternal {
5361 _unused: [u8; 0],
5362}
5363#[repr(C)]
5364#[derive(Debug, Copy, Clone)]
5365pub struct AVHWDeviceContext {
5366 pub av_class: *const AVClass,
5367 pub internal: *mut AVHWDeviceInternal,
5368 pub type_: AVHWDeviceType,
5369 pub hwctx: *mut ::std::os::raw::c_void,
5370 pub free: ::std::option::Option<unsafe extern "C" fn(ctx: *mut AVHWDeviceContext)>,
5371 pub user_opaque: *mut ::std::os::raw::c_void,
5372}
5373#[repr(C)]
5374#[derive(Debug, Copy, Clone)]
5375pub struct AVHWFramesInternal {
5376 _unused: [u8; 0],
5377}
5378#[repr(C)]
5379#[derive(Debug, Copy, Clone)]
5380pub struct AVHWFramesContext {
5381 pub av_class: *const AVClass,
5382 pub internal: *mut AVHWFramesInternal,
5383 pub device_ref: *mut AVBufferRef,
5384 pub device_ctx: *mut AVHWDeviceContext,
5385 pub hwctx: *mut ::std::os::raw::c_void,
5386 pub free: ::std::option::Option<unsafe extern "C" fn(ctx: *mut AVHWFramesContext)>,
5387 pub user_opaque: *mut ::std::os::raw::c_void,
5388 pub pool: *mut AVBufferPool,
5389 pub initial_pool_size: ::std::os::raw::c_int,
5390 pub format: AVPixelFormat,
5391 pub sw_format: AVPixelFormat,
5392 pub width: ::std::os::raw::c_int,
5393 pub height: ::std::os::raw::c_int,
5394}
5395extern "C" {
5396 pub fn av_hwdevice_find_type_by_name(name: *const ::std::os::raw::c_char) -> AVHWDeviceType;
5397}
5398extern "C" {
5399 pub fn av_hwdevice_get_type_name(type_: AVHWDeviceType) -> *const ::std::os::raw::c_char;
5400}
5401extern "C" {
5402 pub fn av_hwdevice_iterate_types(prev: AVHWDeviceType) -> AVHWDeviceType;
5403}
5404extern "C" {
5405 pub fn av_hwdevice_ctx_alloc(type_: AVHWDeviceType) -> *mut AVBufferRef;
5406}
5407extern "C" {
5408 pub fn av_hwdevice_ctx_init(ref_: *mut AVBufferRef) -> ::std::os::raw::c_int;
5409}
5410extern "C" {
5411 pub fn av_hwdevice_ctx_create(
5412 device_ctx: *mut *mut AVBufferRef,
5413 type_: AVHWDeviceType,
5414 device: *const ::std::os::raw::c_char,
5415 opts: *mut AVDictionary,
5416 flags: ::std::os::raw::c_int,
5417 ) -> ::std::os::raw::c_int;
5418}
5419extern "C" {
5420 pub fn av_hwdevice_ctx_create_derived(
5421 dst_ctx: *mut *mut AVBufferRef,
5422 type_: AVHWDeviceType,
5423 src_ctx: *mut AVBufferRef,
5424 flags: ::std::os::raw::c_int,
5425 ) -> ::std::os::raw::c_int;
5426}
5427extern "C" {
5428 pub fn av_hwframe_ctx_alloc(device_ctx: *mut AVBufferRef) -> *mut AVBufferRef;
5429}
5430extern "C" {
5431 pub fn av_hwframe_ctx_init(ref_: *mut AVBufferRef) -> ::std::os::raw::c_int;
5432}
5433extern "C" {
5434 pub fn av_hwframe_get_buffer(
5435 hwframe_ctx: *mut AVBufferRef,
5436 frame: *mut AVFrame,
5437 flags: ::std::os::raw::c_int,
5438 ) -> ::std::os::raw::c_int;
5439}
5440extern "C" {
5441 pub fn av_hwframe_transfer_data(
5442 dst: *mut AVFrame,
5443 src: *const AVFrame,
5444 flags: ::std::os::raw::c_int,
5445 ) -> ::std::os::raw::c_int;
5446}
5447pub const AVHWFrameTransferDirection_AV_HWFRAME_TRANSFER_DIRECTION_FROM:
5448 AVHWFrameTransferDirection = 0;
5449pub const AVHWFrameTransferDirection_AV_HWFRAME_TRANSFER_DIRECTION_TO: AVHWFrameTransferDirection =
5450 1;
5451pub type AVHWFrameTransferDirection = u32;
5452extern "C" {
5453 pub fn av_hwframe_transfer_get_formats(
5454 hwframe_ctx: *mut AVBufferRef,
5455 dir: AVHWFrameTransferDirection,
5456 formats: *mut *mut AVPixelFormat,
5457 flags: ::std::os::raw::c_int,
5458 ) -> ::std::os::raw::c_int;
5459}
5460#[repr(C)]
5461#[derive(Debug, Copy, Clone)]
5462pub struct AVHWFramesConstraints {
5463 pub valid_hw_formats: *mut AVPixelFormat,
5464 pub valid_sw_formats: *mut AVPixelFormat,
5465 pub min_width: ::std::os::raw::c_int,
5466 pub min_height: ::std::os::raw::c_int,
5467 pub max_width: ::std::os::raw::c_int,
5468 pub max_height: ::std::os::raw::c_int,
5469}
5470extern "C" {
5471 pub fn av_hwdevice_hwconfig_alloc(device_ctx: *mut AVBufferRef) -> *mut ::std::os::raw::c_void;
5472}
5473extern "C" {
5474 pub fn av_hwdevice_get_hwframe_constraints(
5475 ref_: *mut AVBufferRef,
5476 hwconfig: *const ::std::os::raw::c_void,
5477 ) -> *mut AVHWFramesConstraints;
5478}
5479extern "C" {
5480 pub fn av_hwframe_constraints_free(constraints: *mut *mut AVHWFramesConstraints);
5481}
5482pub const AV_HWFRAME_MAP_READ: _bindgen_ty_3 = 1;
5483pub const AV_HWFRAME_MAP_WRITE: _bindgen_ty_3 = 2;
5484pub const AV_HWFRAME_MAP_OVERWRITE: _bindgen_ty_3 = 4;
5485pub const AV_HWFRAME_MAP_DIRECT: _bindgen_ty_3 = 8;
5486pub type _bindgen_ty_3 = u32;
5487extern "C" {
5488 pub fn av_hwframe_map(
5489 dst: *mut AVFrame,
5490 src: *const AVFrame,
5491 flags: ::std::os::raw::c_int,
5492 ) -> ::std::os::raw::c_int;
5493}
5494extern "C" {
5495 pub fn av_hwframe_ctx_create_derived(
5496 derived_frame_ctx: *mut *mut AVBufferRef,
5497 format: AVPixelFormat,
5498 derived_device_ctx: *mut AVBufferRef,
5499 source_frame_ctx: *mut AVBufferRef,
5500 flags: ::std::os::raw::c_int,
5501 ) -> ::std::os::raw::c_int;
5502}
5503pub const AVCodecID_AV_CODEC_ID_NONE: AVCodecID = 0;
5504pub const AVCodecID_AV_CODEC_ID_MPEG1VIDEO: AVCodecID = 1;
5505#[doc = "< preferred ID for MPEG-1/2 video decoding"]
5506pub const AVCodecID_AV_CODEC_ID_MPEG2VIDEO: AVCodecID = 2;
5507pub const AVCodecID_AV_CODEC_ID_H261: AVCodecID = 3;
5508pub const AVCodecID_AV_CODEC_ID_H263: AVCodecID = 4;
5509pub const AVCodecID_AV_CODEC_ID_RV10: AVCodecID = 5;
5510pub const AVCodecID_AV_CODEC_ID_RV20: AVCodecID = 6;
5511pub const AVCodecID_AV_CODEC_ID_MJPEG: AVCodecID = 7;
5512pub const AVCodecID_AV_CODEC_ID_MJPEGB: AVCodecID = 8;
5513pub const AVCodecID_AV_CODEC_ID_LJPEG: AVCodecID = 9;
5514pub const AVCodecID_AV_CODEC_ID_SP5X: AVCodecID = 10;
5515pub const AVCodecID_AV_CODEC_ID_JPEGLS: AVCodecID = 11;
5516pub const AVCodecID_AV_CODEC_ID_MPEG4: AVCodecID = 12;
5517pub const AVCodecID_AV_CODEC_ID_RAWVIDEO: AVCodecID = 13;
5518pub const AVCodecID_AV_CODEC_ID_MSMPEG4V1: AVCodecID = 14;
5519pub const AVCodecID_AV_CODEC_ID_MSMPEG4V2: AVCodecID = 15;
5520pub const AVCodecID_AV_CODEC_ID_MSMPEG4V3: AVCodecID = 16;
5521pub const AVCodecID_AV_CODEC_ID_WMV1: AVCodecID = 17;
5522pub const AVCodecID_AV_CODEC_ID_WMV2: AVCodecID = 18;
5523pub const AVCodecID_AV_CODEC_ID_H263P: AVCodecID = 19;
5524pub const AVCodecID_AV_CODEC_ID_H263I: AVCodecID = 20;
5525pub const AVCodecID_AV_CODEC_ID_FLV1: AVCodecID = 21;
5526pub const AVCodecID_AV_CODEC_ID_SVQ1: AVCodecID = 22;
5527pub const AVCodecID_AV_CODEC_ID_SVQ3: AVCodecID = 23;
5528pub const AVCodecID_AV_CODEC_ID_DVVIDEO: AVCodecID = 24;
5529pub const AVCodecID_AV_CODEC_ID_HUFFYUV: AVCodecID = 25;
5530pub const AVCodecID_AV_CODEC_ID_CYUV: AVCodecID = 26;
5531pub const AVCodecID_AV_CODEC_ID_H264: AVCodecID = 27;
5532pub const AVCodecID_AV_CODEC_ID_INDEO3: AVCodecID = 28;
5533pub const AVCodecID_AV_CODEC_ID_VP3: AVCodecID = 29;
5534pub const AVCodecID_AV_CODEC_ID_THEORA: AVCodecID = 30;
5535pub const AVCodecID_AV_CODEC_ID_ASV1: AVCodecID = 31;
5536pub const AVCodecID_AV_CODEC_ID_ASV2: AVCodecID = 32;
5537pub const AVCodecID_AV_CODEC_ID_FFV1: AVCodecID = 33;
5538pub const AVCodecID_AV_CODEC_ID_4XM: AVCodecID = 34;
5539pub const AVCodecID_AV_CODEC_ID_VCR1: AVCodecID = 35;
5540pub const AVCodecID_AV_CODEC_ID_CLJR: AVCodecID = 36;
5541pub const AVCodecID_AV_CODEC_ID_MDEC: AVCodecID = 37;
5542pub const AVCodecID_AV_CODEC_ID_ROQ: AVCodecID = 38;
5543pub const AVCodecID_AV_CODEC_ID_INTERPLAY_VIDEO: AVCodecID = 39;
5544pub const AVCodecID_AV_CODEC_ID_XAN_WC3: AVCodecID = 40;
5545pub const AVCodecID_AV_CODEC_ID_XAN_WC4: AVCodecID = 41;
5546pub const AVCodecID_AV_CODEC_ID_RPZA: AVCodecID = 42;
5547pub const AVCodecID_AV_CODEC_ID_CINEPAK: AVCodecID = 43;
5548pub const AVCodecID_AV_CODEC_ID_WS_VQA: AVCodecID = 44;
5549pub const AVCodecID_AV_CODEC_ID_MSRLE: AVCodecID = 45;
5550pub const AVCodecID_AV_CODEC_ID_MSVIDEO1: AVCodecID = 46;
5551pub const AVCodecID_AV_CODEC_ID_IDCIN: AVCodecID = 47;
5552pub const AVCodecID_AV_CODEC_ID_8BPS: AVCodecID = 48;
5553pub const AVCodecID_AV_CODEC_ID_SMC: AVCodecID = 49;
5554pub const AVCodecID_AV_CODEC_ID_FLIC: AVCodecID = 50;
5555pub const AVCodecID_AV_CODEC_ID_TRUEMOTION1: AVCodecID = 51;
5556pub const AVCodecID_AV_CODEC_ID_VMDVIDEO: AVCodecID = 52;
5557pub const AVCodecID_AV_CODEC_ID_MSZH: AVCodecID = 53;
5558pub const AVCodecID_AV_CODEC_ID_ZLIB: AVCodecID = 54;
5559pub const AVCodecID_AV_CODEC_ID_QTRLE: AVCodecID = 55;
5560pub const AVCodecID_AV_CODEC_ID_TSCC: AVCodecID = 56;
5561pub const AVCodecID_AV_CODEC_ID_ULTI: AVCodecID = 57;
5562pub const AVCodecID_AV_CODEC_ID_QDRAW: AVCodecID = 58;
5563pub const AVCodecID_AV_CODEC_ID_VIXL: AVCodecID = 59;
5564pub const AVCodecID_AV_CODEC_ID_QPEG: AVCodecID = 60;
5565pub const AVCodecID_AV_CODEC_ID_PNG: AVCodecID = 61;
5566pub const AVCodecID_AV_CODEC_ID_PPM: AVCodecID = 62;
5567pub const AVCodecID_AV_CODEC_ID_PBM: AVCodecID = 63;
5568pub const AVCodecID_AV_CODEC_ID_PGM: AVCodecID = 64;
5569pub const AVCodecID_AV_CODEC_ID_PGMYUV: AVCodecID = 65;
5570pub const AVCodecID_AV_CODEC_ID_PAM: AVCodecID = 66;
5571pub const AVCodecID_AV_CODEC_ID_FFVHUFF: AVCodecID = 67;
5572pub const AVCodecID_AV_CODEC_ID_RV30: AVCodecID = 68;
5573pub const AVCodecID_AV_CODEC_ID_RV40: AVCodecID = 69;
5574pub const AVCodecID_AV_CODEC_ID_VC1: AVCodecID = 70;
5575pub const AVCodecID_AV_CODEC_ID_WMV3: AVCodecID = 71;
5576pub const AVCodecID_AV_CODEC_ID_LOCO: AVCodecID = 72;
5577pub const AVCodecID_AV_CODEC_ID_WNV1: AVCodecID = 73;
5578pub const AVCodecID_AV_CODEC_ID_AASC: AVCodecID = 74;
5579pub const AVCodecID_AV_CODEC_ID_INDEO2: AVCodecID = 75;
5580pub const AVCodecID_AV_CODEC_ID_FRAPS: AVCodecID = 76;
5581pub const AVCodecID_AV_CODEC_ID_TRUEMOTION2: AVCodecID = 77;
5582pub const AVCodecID_AV_CODEC_ID_BMP: AVCodecID = 78;
5583pub const AVCodecID_AV_CODEC_ID_CSCD: AVCodecID = 79;
5584pub const AVCodecID_AV_CODEC_ID_MMVIDEO: AVCodecID = 80;
5585pub const AVCodecID_AV_CODEC_ID_ZMBV: AVCodecID = 81;
5586pub const AVCodecID_AV_CODEC_ID_AVS: AVCodecID = 82;
5587pub const AVCodecID_AV_CODEC_ID_SMACKVIDEO: AVCodecID = 83;
5588pub const AVCodecID_AV_CODEC_ID_NUV: AVCodecID = 84;
5589pub const AVCodecID_AV_CODEC_ID_KMVC: AVCodecID = 85;
5590pub const AVCodecID_AV_CODEC_ID_FLASHSV: AVCodecID = 86;
5591pub const AVCodecID_AV_CODEC_ID_CAVS: AVCodecID = 87;
5592pub const AVCodecID_AV_CODEC_ID_JPEG2000: AVCodecID = 88;
5593pub const AVCodecID_AV_CODEC_ID_VMNC: AVCodecID = 89;
5594pub const AVCodecID_AV_CODEC_ID_VP5: AVCodecID = 90;
5595pub const AVCodecID_AV_CODEC_ID_VP6: AVCodecID = 91;
5596pub const AVCodecID_AV_CODEC_ID_VP6F: AVCodecID = 92;
5597pub const AVCodecID_AV_CODEC_ID_TARGA: AVCodecID = 93;
5598pub const AVCodecID_AV_CODEC_ID_DSICINVIDEO: AVCodecID = 94;
5599pub const AVCodecID_AV_CODEC_ID_TIERTEXSEQVIDEO: AVCodecID = 95;
5600pub const AVCodecID_AV_CODEC_ID_TIFF: AVCodecID = 96;
5601pub const AVCodecID_AV_CODEC_ID_GIF: AVCodecID = 97;
5602pub const AVCodecID_AV_CODEC_ID_DXA: AVCodecID = 98;
5603pub const AVCodecID_AV_CODEC_ID_DNXHD: AVCodecID = 99;
5604pub const AVCodecID_AV_CODEC_ID_THP: AVCodecID = 100;
5605pub const AVCodecID_AV_CODEC_ID_SGI: AVCodecID = 101;
5606pub const AVCodecID_AV_CODEC_ID_C93: AVCodecID = 102;
5607pub const AVCodecID_AV_CODEC_ID_BETHSOFTVID: AVCodecID = 103;
5608pub const AVCodecID_AV_CODEC_ID_PTX: AVCodecID = 104;
5609pub const AVCodecID_AV_CODEC_ID_TXD: AVCodecID = 105;
5610pub const AVCodecID_AV_CODEC_ID_VP6A: AVCodecID = 106;
5611pub const AVCodecID_AV_CODEC_ID_AMV: AVCodecID = 107;
5612pub const AVCodecID_AV_CODEC_ID_VB: AVCodecID = 108;
5613pub const AVCodecID_AV_CODEC_ID_PCX: AVCodecID = 109;
5614pub const AVCodecID_AV_CODEC_ID_SUNRAST: AVCodecID = 110;
5615pub const AVCodecID_AV_CODEC_ID_INDEO4: AVCodecID = 111;
5616pub const AVCodecID_AV_CODEC_ID_INDEO5: AVCodecID = 112;
5617pub const AVCodecID_AV_CODEC_ID_MIMIC: AVCodecID = 113;
5618pub const AVCodecID_AV_CODEC_ID_RL2: AVCodecID = 114;
5619pub const AVCodecID_AV_CODEC_ID_ESCAPE124: AVCodecID = 115;
5620pub const AVCodecID_AV_CODEC_ID_DIRAC: AVCodecID = 116;
5621pub const AVCodecID_AV_CODEC_ID_BFI: AVCodecID = 117;
5622pub const AVCodecID_AV_CODEC_ID_CMV: AVCodecID = 118;
5623pub const AVCodecID_AV_CODEC_ID_MOTIONPIXELS: AVCodecID = 119;
5624pub const AVCodecID_AV_CODEC_ID_TGV: AVCodecID = 120;
5625pub const AVCodecID_AV_CODEC_ID_TGQ: AVCodecID = 121;
5626pub const AVCodecID_AV_CODEC_ID_TQI: AVCodecID = 122;
5627pub const AVCodecID_AV_CODEC_ID_AURA: AVCodecID = 123;
5628pub const AVCodecID_AV_CODEC_ID_AURA2: AVCodecID = 124;
5629pub const AVCodecID_AV_CODEC_ID_V210X: AVCodecID = 125;
5630pub const AVCodecID_AV_CODEC_ID_TMV: AVCodecID = 126;
5631pub const AVCodecID_AV_CODEC_ID_V210: AVCodecID = 127;
5632pub const AVCodecID_AV_CODEC_ID_DPX: AVCodecID = 128;
5633pub const AVCodecID_AV_CODEC_ID_MAD: AVCodecID = 129;
5634pub const AVCodecID_AV_CODEC_ID_FRWU: AVCodecID = 130;
5635pub const AVCodecID_AV_CODEC_ID_FLASHSV2: AVCodecID = 131;
5636pub const AVCodecID_AV_CODEC_ID_CDGRAPHICS: AVCodecID = 132;
5637pub const AVCodecID_AV_CODEC_ID_R210: AVCodecID = 133;
5638pub const AVCodecID_AV_CODEC_ID_ANM: AVCodecID = 134;
5639pub const AVCodecID_AV_CODEC_ID_BINKVIDEO: AVCodecID = 135;
5640pub const AVCodecID_AV_CODEC_ID_IFF_ILBM: AVCodecID = 136;
5641pub const AVCodecID_AV_CODEC_ID_KGV1: AVCodecID = 137;
5642pub const AVCodecID_AV_CODEC_ID_YOP: AVCodecID = 138;
5643pub const AVCodecID_AV_CODEC_ID_VP8: AVCodecID = 139;
5644pub const AVCodecID_AV_CODEC_ID_PICTOR: AVCodecID = 140;
5645pub const AVCodecID_AV_CODEC_ID_ANSI: AVCodecID = 141;
5646pub const AVCodecID_AV_CODEC_ID_A64_MULTI: AVCodecID = 142;
5647pub const AVCodecID_AV_CODEC_ID_A64_MULTI5: AVCodecID = 143;
5648pub const AVCodecID_AV_CODEC_ID_R10K: AVCodecID = 144;
5649pub const AVCodecID_AV_CODEC_ID_MXPEG: AVCodecID = 145;
5650pub const AVCodecID_AV_CODEC_ID_LAGARITH: AVCodecID = 146;
5651pub const AVCodecID_AV_CODEC_ID_PRORES: AVCodecID = 147;
5652pub const AVCodecID_AV_CODEC_ID_JV: AVCodecID = 148;
5653pub const AVCodecID_AV_CODEC_ID_DFA: AVCodecID = 149;
5654pub const AVCodecID_AV_CODEC_ID_WMV3IMAGE: AVCodecID = 150;
5655pub const AVCodecID_AV_CODEC_ID_VC1IMAGE: AVCodecID = 151;
5656pub const AVCodecID_AV_CODEC_ID_UTVIDEO: AVCodecID = 152;
5657pub const AVCodecID_AV_CODEC_ID_BMV_VIDEO: AVCodecID = 153;
5658pub const AVCodecID_AV_CODEC_ID_VBLE: AVCodecID = 154;
5659pub const AVCodecID_AV_CODEC_ID_DXTORY: AVCodecID = 155;
5660pub const AVCodecID_AV_CODEC_ID_V410: AVCodecID = 156;
5661pub const AVCodecID_AV_CODEC_ID_XWD: AVCodecID = 157;
5662pub const AVCodecID_AV_CODEC_ID_CDXL: AVCodecID = 158;
5663pub const AVCodecID_AV_CODEC_ID_XBM: AVCodecID = 159;
5664pub const AVCodecID_AV_CODEC_ID_ZEROCODEC: AVCodecID = 160;
5665pub const AVCodecID_AV_CODEC_ID_MSS1: AVCodecID = 161;
5666pub const AVCodecID_AV_CODEC_ID_MSA1: AVCodecID = 162;
5667pub const AVCodecID_AV_CODEC_ID_TSCC2: AVCodecID = 163;
5668pub const AVCodecID_AV_CODEC_ID_MTS2: AVCodecID = 164;
5669pub const AVCodecID_AV_CODEC_ID_CLLC: AVCodecID = 165;
5670pub const AVCodecID_AV_CODEC_ID_MSS2: AVCodecID = 166;
5671pub const AVCodecID_AV_CODEC_ID_VP9: AVCodecID = 167;
5672pub const AVCodecID_AV_CODEC_ID_AIC: AVCodecID = 168;
5673pub const AVCodecID_AV_CODEC_ID_ESCAPE130: AVCodecID = 169;
5674pub const AVCodecID_AV_CODEC_ID_G2M: AVCodecID = 170;
5675pub const AVCodecID_AV_CODEC_ID_WEBP: AVCodecID = 171;
5676pub const AVCodecID_AV_CODEC_ID_HNM4_VIDEO: AVCodecID = 172;
5677pub const AVCodecID_AV_CODEC_ID_HEVC: AVCodecID = 173;
5678pub const AVCodecID_AV_CODEC_ID_FIC: AVCodecID = 174;
5679pub const AVCodecID_AV_CODEC_ID_ALIAS_PIX: AVCodecID = 175;
5680pub const AVCodecID_AV_CODEC_ID_BRENDER_PIX: AVCodecID = 176;
5681pub const AVCodecID_AV_CODEC_ID_PAF_VIDEO: AVCodecID = 177;
5682pub const AVCodecID_AV_CODEC_ID_EXR: AVCodecID = 178;
5683pub const AVCodecID_AV_CODEC_ID_VP7: AVCodecID = 179;
5684pub const AVCodecID_AV_CODEC_ID_SANM: AVCodecID = 180;
5685pub const AVCodecID_AV_CODEC_ID_SGIRLE: AVCodecID = 181;
5686pub const AVCodecID_AV_CODEC_ID_MVC1: AVCodecID = 182;
5687pub const AVCodecID_AV_CODEC_ID_MVC2: AVCodecID = 183;
5688pub const AVCodecID_AV_CODEC_ID_HQX: AVCodecID = 184;
5689pub const AVCodecID_AV_CODEC_ID_TDSC: AVCodecID = 185;
5690pub const AVCodecID_AV_CODEC_ID_HQ_HQA: AVCodecID = 186;
5691pub const AVCodecID_AV_CODEC_ID_HAP: AVCodecID = 187;
5692pub const AVCodecID_AV_CODEC_ID_DDS: AVCodecID = 188;
5693pub const AVCodecID_AV_CODEC_ID_DXV: AVCodecID = 189;
5694pub const AVCodecID_AV_CODEC_ID_SCREENPRESSO: AVCodecID = 190;
5695pub const AVCodecID_AV_CODEC_ID_RSCC: AVCodecID = 191;
5696pub const AVCodecID_AV_CODEC_ID_AVS2: AVCodecID = 192;
5697pub const AVCodecID_AV_CODEC_ID_Y41P: AVCodecID = 32768;
5698pub const AVCodecID_AV_CODEC_ID_AVRP: AVCodecID = 32769;
5699pub const AVCodecID_AV_CODEC_ID_012V: AVCodecID = 32770;
5700pub const AVCodecID_AV_CODEC_ID_AVUI: AVCodecID = 32771;
5701pub const AVCodecID_AV_CODEC_ID_AYUV: AVCodecID = 32772;
5702pub const AVCodecID_AV_CODEC_ID_TARGA_Y216: AVCodecID = 32773;
5703pub const AVCodecID_AV_CODEC_ID_V308: AVCodecID = 32774;
5704pub const AVCodecID_AV_CODEC_ID_V408: AVCodecID = 32775;
5705pub const AVCodecID_AV_CODEC_ID_YUV4: AVCodecID = 32776;
5706pub const AVCodecID_AV_CODEC_ID_AVRN: AVCodecID = 32777;
5707pub const AVCodecID_AV_CODEC_ID_CPIA: AVCodecID = 32778;
5708pub const AVCodecID_AV_CODEC_ID_XFACE: AVCodecID = 32779;
5709pub const AVCodecID_AV_CODEC_ID_SNOW: AVCodecID = 32780;
5710pub const AVCodecID_AV_CODEC_ID_SMVJPEG: AVCodecID = 32781;
5711pub const AVCodecID_AV_CODEC_ID_APNG: AVCodecID = 32782;
5712pub const AVCodecID_AV_CODEC_ID_DAALA: AVCodecID = 32783;
5713pub const AVCodecID_AV_CODEC_ID_CFHD: AVCodecID = 32784;
5714pub const AVCodecID_AV_CODEC_ID_TRUEMOTION2RT: AVCodecID = 32785;
5715pub const AVCodecID_AV_CODEC_ID_M101: AVCodecID = 32786;
5716pub const AVCodecID_AV_CODEC_ID_MAGICYUV: AVCodecID = 32787;
5717pub const AVCodecID_AV_CODEC_ID_SHEERVIDEO: AVCodecID = 32788;
5718pub const AVCodecID_AV_CODEC_ID_YLC: AVCodecID = 32789;
5719pub const AVCodecID_AV_CODEC_ID_PSD: AVCodecID = 32790;
5720pub const AVCodecID_AV_CODEC_ID_PIXLET: AVCodecID = 32791;
5721pub const AVCodecID_AV_CODEC_ID_SPEEDHQ: AVCodecID = 32792;
5722pub const AVCodecID_AV_CODEC_ID_FMVC: AVCodecID = 32793;
5723pub const AVCodecID_AV_CODEC_ID_SCPR: AVCodecID = 32794;
5724pub const AVCodecID_AV_CODEC_ID_CLEARVIDEO: AVCodecID = 32795;
5725pub const AVCodecID_AV_CODEC_ID_XPM: AVCodecID = 32796;
5726pub const AVCodecID_AV_CODEC_ID_AV1: AVCodecID = 32797;
5727pub const AVCodecID_AV_CODEC_ID_BITPACKED: AVCodecID = 32798;
5728pub const AVCodecID_AV_CODEC_ID_MSCC: AVCodecID = 32799;
5729pub const AVCodecID_AV_CODEC_ID_SRGC: AVCodecID = 32800;
5730pub const AVCodecID_AV_CODEC_ID_SVG: AVCodecID = 32801;
5731pub const AVCodecID_AV_CODEC_ID_GDV: AVCodecID = 32802;
5732pub const AVCodecID_AV_CODEC_ID_FITS: AVCodecID = 32803;
5733pub const AVCodecID_AV_CODEC_ID_IMM4: AVCodecID = 32804;
5734pub const AVCodecID_AV_CODEC_ID_PROSUMER: AVCodecID = 32805;
5735pub const AVCodecID_AV_CODEC_ID_MWSC: AVCodecID = 32806;
5736pub const AVCodecID_AV_CODEC_ID_WCMV: AVCodecID = 32807;
5737pub const AVCodecID_AV_CODEC_ID_RASC: AVCodecID = 32808;
5738#[doc = "< A dummy id pointing at the start of audio codecs"]
5739pub const AVCodecID_AV_CODEC_ID_FIRST_AUDIO: AVCodecID = 65536;
5740pub const AVCodecID_AV_CODEC_ID_PCM_S16LE: AVCodecID = 65536;
5741pub const AVCodecID_AV_CODEC_ID_PCM_S16BE: AVCodecID = 65537;
5742pub const AVCodecID_AV_CODEC_ID_PCM_U16LE: AVCodecID = 65538;
5743pub const AVCodecID_AV_CODEC_ID_PCM_U16BE: AVCodecID = 65539;
5744pub const AVCodecID_AV_CODEC_ID_PCM_S8: AVCodecID = 65540;
5745pub const AVCodecID_AV_CODEC_ID_PCM_U8: AVCodecID = 65541;
5746pub const AVCodecID_AV_CODEC_ID_PCM_MULAW: AVCodecID = 65542;
5747pub const AVCodecID_AV_CODEC_ID_PCM_ALAW: AVCodecID = 65543;
5748pub const AVCodecID_AV_CODEC_ID_PCM_S32LE: AVCodecID = 65544;
5749pub const AVCodecID_AV_CODEC_ID_PCM_S32BE: AVCodecID = 65545;
5750pub const AVCodecID_AV_CODEC_ID_PCM_U32LE: AVCodecID = 65546;
5751pub const AVCodecID_AV_CODEC_ID_PCM_U32BE: AVCodecID = 65547;
5752pub const AVCodecID_AV_CODEC_ID_PCM_S24LE: AVCodecID = 65548;
5753pub const AVCodecID_AV_CODEC_ID_PCM_S24BE: AVCodecID = 65549;
5754pub const AVCodecID_AV_CODEC_ID_PCM_U24LE: AVCodecID = 65550;
5755pub const AVCodecID_AV_CODEC_ID_PCM_U24BE: AVCodecID = 65551;
5756pub const AVCodecID_AV_CODEC_ID_PCM_S24DAUD: AVCodecID = 65552;
5757pub const AVCodecID_AV_CODEC_ID_PCM_ZORK: AVCodecID = 65553;
5758pub const AVCodecID_AV_CODEC_ID_PCM_S16LE_PLANAR: AVCodecID = 65554;
5759pub const AVCodecID_AV_CODEC_ID_PCM_DVD: AVCodecID = 65555;
5760pub const AVCodecID_AV_CODEC_ID_PCM_F32BE: AVCodecID = 65556;
5761pub const AVCodecID_AV_CODEC_ID_PCM_F32LE: AVCodecID = 65557;
5762pub const AVCodecID_AV_CODEC_ID_PCM_F64BE: AVCodecID = 65558;
5763pub const AVCodecID_AV_CODEC_ID_PCM_F64LE: AVCodecID = 65559;
5764pub const AVCodecID_AV_CODEC_ID_PCM_BLURAY: AVCodecID = 65560;
5765pub const AVCodecID_AV_CODEC_ID_PCM_LXF: AVCodecID = 65561;
5766pub const AVCodecID_AV_CODEC_ID_S302M: AVCodecID = 65562;
5767pub const AVCodecID_AV_CODEC_ID_PCM_S8_PLANAR: AVCodecID = 65563;
5768pub const AVCodecID_AV_CODEC_ID_PCM_S24LE_PLANAR: AVCodecID = 65564;
5769pub const AVCodecID_AV_CODEC_ID_PCM_S32LE_PLANAR: AVCodecID = 65565;
5770pub const AVCodecID_AV_CODEC_ID_PCM_S16BE_PLANAR: AVCodecID = 65566;
5771pub const AVCodecID_AV_CODEC_ID_PCM_S64LE: AVCodecID = 67584;
5772pub const AVCodecID_AV_CODEC_ID_PCM_S64BE: AVCodecID = 67585;
5773pub const AVCodecID_AV_CODEC_ID_PCM_F16LE: AVCodecID = 67586;
5774pub const AVCodecID_AV_CODEC_ID_PCM_F24LE: AVCodecID = 67587;
5775pub const AVCodecID_AV_CODEC_ID_PCM_VIDC: AVCodecID = 67588;
5776pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_QT: AVCodecID = 69632;
5777pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_WAV: AVCodecID = 69633;
5778pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_DK3: AVCodecID = 69634;
5779pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_DK4: AVCodecID = 69635;
5780pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_WS: AVCodecID = 69636;
5781pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_SMJPEG: AVCodecID = 69637;
5782pub const AVCodecID_AV_CODEC_ID_ADPCM_MS: AVCodecID = 69638;
5783pub const AVCodecID_AV_CODEC_ID_ADPCM_4XM: AVCodecID = 69639;
5784pub const AVCodecID_AV_CODEC_ID_ADPCM_XA: AVCodecID = 69640;
5785pub const AVCodecID_AV_CODEC_ID_ADPCM_ADX: AVCodecID = 69641;
5786pub const AVCodecID_AV_CODEC_ID_ADPCM_EA: AVCodecID = 69642;
5787pub const AVCodecID_AV_CODEC_ID_ADPCM_G726: AVCodecID = 69643;
5788pub const AVCodecID_AV_CODEC_ID_ADPCM_CT: AVCodecID = 69644;
5789pub const AVCodecID_AV_CODEC_ID_ADPCM_SWF: AVCodecID = 69645;
5790pub const AVCodecID_AV_CODEC_ID_ADPCM_YAMAHA: AVCodecID = 69646;
5791pub const AVCodecID_AV_CODEC_ID_ADPCM_SBPRO_4: AVCodecID = 69647;
5792pub const AVCodecID_AV_CODEC_ID_ADPCM_SBPRO_3: AVCodecID = 69648;
5793pub const AVCodecID_AV_CODEC_ID_ADPCM_SBPRO_2: AVCodecID = 69649;
5794pub const AVCodecID_AV_CODEC_ID_ADPCM_THP: AVCodecID = 69650;
5795pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_AMV: AVCodecID = 69651;
5796pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_R1: AVCodecID = 69652;
5797pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_R3: AVCodecID = 69653;
5798pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_R2: AVCodecID = 69654;
5799pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_EA_SEAD: AVCodecID = 69655;
5800pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_EA_EACS: AVCodecID = 69656;
5801pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_XAS: AVCodecID = 69657;
5802pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_MAXIS_XA: AVCodecID = 69658;
5803pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_ISS: AVCodecID = 69659;
5804pub const AVCodecID_AV_CODEC_ID_ADPCM_G722: AVCodecID = 69660;
5805pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_APC: AVCodecID = 69661;
5806pub const AVCodecID_AV_CODEC_ID_ADPCM_VIMA: AVCodecID = 69662;
5807pub const AVCodecID_AV_CODEC_ID_ADPCM_AFC: AVCodecID = 71680;
5808pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_OKI: AVCodecID = 71681;
5809pub const AVCodecID_AV_CODEC_ID_ADPCM_DTK: AVCodecID = 71682;
5810pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_RAD: AVCodecID = 71683;
5811pub const AVCodecID_AV_CODEC_ID_ADPCM_G726LE: AVCodecID = 71684;
5812pub const AVCodecID_AV_CODEC_ID_ADPCM_THP_LE: AVCodecID = 71685;
5813pub const AVCodecID_AV_CODEC_ID_ADPCM_PSX: AVCodecID = 71686;
5814pub const AVCodecID_AV_CODEC_ID_ADPCM_AICA: AVCodecID = 71687;
5815pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_DAT4: AVCodecID = 71688;
5816pub const AVCodecID_AV_CODEC_ID_ADPCM_MTAF: AVCodecID = 71689;
5817pub const AVCodecID_AV_CODEC_ID_AMR_NB: AVCodecID = 73728;
5818pub const AVCodecID_AV_CODEC_ID_AMR_WB: AVCodecID = 73729;
5819pub const AVCodecID_AV_CODEC_ID_RA_144: AVCodecID = 77824;
5820pub const AVCodecID_AV_CODEC_ID_RA_288: AVCodecID = 77825;
5821pub const AVCodecID_AV_CODEC_ID_ROQ_DPCM: AVCodecID = 81920;
5822pub const AVCodecID_AV_CODEC_ID_INTERPLAY_DPCM: AVCodecID = 81921;
5823pub const AVCodecID_AV_CODEC_ID_XAN_DPCM: AVCodecID = 81922;
5824pub const AVCodecID_AV_CODEC_ID_SOL_DPCM: AVCodecID = 81923;
5825pub const AVCodecID_AV_CODEC_ID_SDX2_DPCM: AVCodecID = 83968;
5826pub const AVCodecID_AV_CODEC_ID_GREMLIN_DPCM: AVCodecID = 83969;
5827pub const AVCodecID_AV_CODEC_ID_MP2: AVCodecID = 86016;
5828#[doc = "< preferred ID for decoding MPEG audio layer 1, 2 or 3"]
5829pub const AVCodecID_AV_CODEC_ID_MP3: AVCodecID = 86017;
5830pub const AVCodecID_AV_CODEC_ID_AAC: AVCodecID = 86018;
5831pub const AVCodecID_AV_CODEC_ID_AC3: AVCodecID = 86019;
5832pub const AVCodecID_AV_CODEC_ID_DTS: AVCodecID = 86020;
5833pub const AVCodecID_AV_CODEC_ID_VORBIS: AVCodecID = 86021;
5834pub const AVCodecID_AV_CODEC_ID_DVAUDIO: AVCodecID = 86022;
5835pub const AVCodecID_AV_CODEC_ID_WMAV1: AVCodecID = 86023;
5836pub const AVCodecID_AV_CODEC_ID_WMAV2: AVCodecID = 86024;
5837pub const AVCodecID_AV_CODEC_ID_MACE3: AVCodecID = 86025;
5838pub const AVCodecID_AV_CODEC_ID_MACE6: AVCodecID = 86026;
5839pub const AVCodecID_AV_CODEC_ID_VMDAUDIO: AVCodecID = 86027;
5840pub const AVCodecID_AV_CODEC_ID_FLAC: AVCodecID = 86028;
5841pub const AVCodecID_AV_CODEC_ID_MP3ADU: AVCodecID = 86029;
5842pub const AVCodecID_AV_CODEC_ID_MP3ON4: AVCodecID = 86030;
5843pub const AVCodecID_AV_CODEC_ID_SHORTEN: AVCodecID = 86031;
5844pub const AVCodecID_AV_CODEC_ID_ALAC: AVCodecID = 86032;
5845pub const AVCodecID_AV_CODEC_ID_WESTWOOD_SND1: AVCodecID = 86033;
5846#[doc = "< as in Berlin toast format"]
5847pub const AVCodecID_AV_CODEC_ID_GSM: AVCodecID = 86034;
5848pub const AVCodecID_AV_CODEC_ID_QDM2: AVCodecID = 86035;
5849pub const AVCodecID_AV_CODEC_ID_COOK: AVCodecID = 86036;
5850pub const AVCodecID_AV_CODEC_ID_TRUESPEECH: AVCodecID = 86037;
5851pub const AVCodecID_AV_CODEC_ID_TTA: AVCodecID = 86038;
5852pub const AVCodecID_AV_CODEC_ID_SMACKAUDIO: AVCodecID = 86039;
5853pub const AVCodecID_AV_CODEC_ID_QCELP: AVCodecID = 86040;
5854pub const AVCodecID_AV_CODEC_ID_WAVPACK: AVCodecID = 86041;
5855pub const AVCodecID_AV_CODEC_ID_DSICINAUDIO: AVCodecID = 86042;
5856pub const AVCodecID_AV_CODEC_ID_IMC: AVCodecID = 86043;
5857pub const AVCodecID_AV_CODEC_ID_MUSEPACK7: AVCodecID = 86044;
5858pub const AVCodecID_AV_CODEC_ID_MLP: AVCodecID = 86045;
5859pub const AVCodecID_AV_CODEC_ID_GSM_MS: AVCodecID = 86046;
5860pub const AVCodecID_AV_CODEC_ID_ATRAC3: AVCodecID = 86047;
5861pub const AVCodecID_AV_CODEC_ID_APE: AVCodecID = 86048;
5862pub const AVCodecID_AV_CODEC_ID_NELLYMOSER: AVCodecID = 86049;
5863pub const AVCodecID_AV_CODEC_ID_MUSEPACK8: AVCodecID = 86050;
5864pub const AVCodecID_AV_CODEC_ID_SPEEX: AVCodecID = 86051;
5865pub const AVCodecID_AV_CODEC_ID_WMAVOICE: AVCodecID = 86052;
5866pub const AVCodecID_AV_CODEC_ID_WMAPRO: AVCodecID = 86053;
5867pub const AVCodecID_AV_CODEC_ID_WMALOSSLESS: AVCodecID = 86054;
5868pub const AVCodecID_AV_CODEC_ID_ATRAC3P: AVCodecID = 86055;
5869pub const AVCodecID_AV_CODEC_ID_EAC3: AVCodecID = 86056;
5870pub const AVCodecID_AV_CODEC_ID_SIPR: AVCodecID = 86057;
5871pub const AVCodecID_AV_CODEC_ID_MP1: AVCodecID = 86058;
5872pub const AVCodecID_AV_CODEC_ID_TWINVQ: AVCodecID = 86059;
5873pub const AVCodecID_AV_CODEC_ID_TRUEHD: AVCodecID = 86060;
5874pub const AVCodecID_AV_CODEC_ID_MP4ALS: AVCodecID = 86061;
5875pub const AVCodecID_AV_CODEC_ID_ATRAC1: AVCodecID = 86062;
5876pub const AVCodecID_AV_CODEC_ID_BINKAUDIO_RDFT: AVCodecID = 86063;
5877pub const AVCodecID_AV_CODEC_ID_BINKAUDIO_DCT: AVCodecID = 86064;
5878pub const AVCodecID_AV_CODEC_ID_AAC_LATM: AVCodecID = 86065;
5879pub const AVCodecID_AV_CODEC_ID_QDMC: AVCodecID = 86066;
5880pub const AVCodecID_AV_CODEC_ID_CELT: AVCodecID = 86067;
5881pub const AVCodecID_AV_CODEC_ID_G723_1: AVCodecID = 86068;
5882pub const AVCodecID_AV_CODEC_ID_G729: AVCodecID = 86069;
5883pub const AVCodecID_AV_CODEC_ID_8SVX_EXP: AVCodecID = 86070;
5884pub const AVCodecID_AV_CODEC_ID_8SVX_FIB: AVCodecID = 86071;
5885pub const AVCodecID_AV_CODEC_ID_BMV_AUDIO: AVCodecID = 86072;
5886pub const AVCodecID_AV_CODEC_ID_RALF: AVCodecID = 86073;
5887pub const AVCodecID_AV_CODEC_ID_IAC: AVCodecID = 86074;
5888pub const AVCodecID_AV_CODEC_ID_ILBC: AVCodecID = 86075;
5889pub const AVCodecID_AV_CODEC_ID_OPUS: AVCodecID = 86076;
5890pub const AVCodecID_AV_CODEC_ID_COMFORT_NOISE: AVCodecID = 86077;
5891pub const AVCodecID_AV_CODEC_ID_TAK: AVCodecID = 86078;
5892pub const AVCodecID_AV_CODEC_ID_METASOUND: AVCodecID = 86079;
5893pub const AVCodecID_AV_CODEC_ID_PAF_AUDIO: AVCodecID = 86080;
5894pub const AVCodecID_AV_CODEC_ID_ON2AVC: AVCodecID = 86081;
5895pub const AVCodecID_AV_CODEC_ID_DSS_SP: AVCodecID = 86082;
5896pub const AVCodecID_AV_CODEC_ID_CODEC2: AVCodecID = 86083;
5897pub const AVCodecID_AV_CODEC_ID_FFWAVESYNTH: AVCodecID = 88064;
5898pub const AVCodecID_AV_CODEC_ID_SONIC: AVCodecID = 88065;
5899pub const AVCodecID_AV_CODEC_ID_SONIC_LS: AVCodecID = 88066;
5900pub const AVCodecID_AV_CODEC_ID_EVRC: AVCodecID = 88067;
5901pub const AVCodecID_AV_CODEC_ID_SMV: AVCodecID = 88068;
5902pub const AVCodecID_AV_CODEC_ID_DSD_LSBF: AVCodecID = 88069;
5903pub const AVCodecID_AV_CODEC_ID_DSD_MSBF: AVCodecID = 88070;
5904pub const AVCodecID_AV_CODEC_ID_DSD_LSBF_PLANAR: AVCodecID = 88071;
5905pub const AVCodecID_AV_CODEC_ID_DSD_MSBF_PLANAR: AVCodecID = 88072;
5906pub const AVCodecID_AV_CODEC_ID_4GV: AVCodecID = 88073;
5907pub const AVCodecID_AV_CODEC_ID_INTERPLAY_ACM: AVCodecID = 88074;
5908pub const AVCodecID_AV_CODEC_ID_XMA1: AVCodecID = 88075;
5909pub const AVCodecID_AV_CODEC_ID_XMA2: AVCodecID = 88076;
5910pub const AVCodecID_AV_CODEC_ID_DST: AVCodecID = 88077;
5911pub const AVCodecID_AV_CODEC_ID_ATRAC3AL: AVCodecID = 88078;
5912pub const AVCodecID_AV_CODEC_ID_ATRAC3PAL: AVCodecID = 88079;
5913pub const AVCodecID_AV_CODEC_ID_DOLBY_E: AVCodecID = 88080;
5914pub const AVCodecID_AV_CODEC_ID_APTX: AVCodecID = 88081;
5915pub const AVCodecID_AV_CODEC_ID_APTX_HD: AVCodecID = 88082;
5916pub const AVCodecID_AV_CODEC_ID_SBC: AVCodecID = 88083;
5917pub const AVCodecID_AV_CODEC_ID_ATRAC9: AVCodecID = 88084;
5918#[doc = "< A dummy ID pointing at the start of subtitle codecs."]
5919pub const AVCodecID_AV_CODEC_ID_FIRST_SUBTITLE: AVCodecID = 94208;
5920pub const AVCodecID_AV_CODEC_ID_DVD_SUBTITLE: AVCodecID = 94208;
5921pub const AVCodecID_AV_CODEC_ID_DVB_SUBTITLE: AVCodecID = 94209;
5922#[doc = "< raw UTF-8 text"]
5923pub const AVCodecID_AV_CODEC_ID_TEXT: AVCodecID = 94210;
5924pub const AVCodecID_AV_CODEC_ID_XSUB: AVCodecID = 94211;
5925pub const AVCodecID_AV_CODEC_ID_SSA: AVCodecID = 94212;
5926pub const AVCodecID_AV_CODEC_ID_MOV_TEXT: AVCodecID = 94213;
5927pub const AVCodecID_AV_CODEC_ID_HDMV_PGS_SUBTITLE: AVCodecID = 94214;
5928pub const AVCodecID_AV_CODEC_ID_DVB_TELETEXT: AVCodecID = 94215;
5929pub const AVCodecID_AV_CODEC_ID_SRT: AVCodecID = 94216;
5930pub const AVCodecID_AV_CODEC_ID_MICRODVD: AVCodecID = 96256;
5931pub const AVCodecID_AV_CODEC_ID_EIA_608: AVCodecID = 96257;
5932pub const AVCodecID_AV_CODEC_ID_JACOSUB: AVCodecID = 96258;
5933pub const AVCodecID_AV_CODEC_ID_SAMI: AVCodecID = 96259;
5934pub const AVCodecID_AV_CODEC_ID_REALTEXT: AVCodecID = 96260;
5935pub const AVCodecID_AV_CODEC_ID_STL: AVCodecID = 96261;
5936pub const AVCodecID_AV_CODEC_ID_SUBVIEWER1: AVCodecID = 96262;
5937pub const AVCodecID_AV_CODEC_ID_SUBVIEWER: AVCodecID = 96263;
5938pub const AVCodecID_AV_CODEC_ID_SUBRIP: AVCodecID = 96264;
5939pub const AVCodecID_AV_CODEC_ID_WEBVTT: AVCodecID = 96265;
5940pub const AVCodecID_AV_CODEC_ID_MPL2: AVCodecID = 96266;
5941pub const AVCodecID_AV_CODEC_ID_VPLAYER: AVCodecID = 96267;
5942pub const AVCodecID_AV_CODEC_ID_PJS: AVCodecID = 96268;
5943pub const AVCodecID_AV_CODEC_ID_ASS: AVCodecID = 96269;
5944pub const AVCodecID_AV_CODEC_ID_HDMV_TEXT_SUBTITLE: AVCodecID = 96270;
5945pub const AVCodecID_AV_CODEC_ID_TTML: AVCodecID = 96271;
5946#[doc = "< A dummy ID pointing at the start of various fake codecs."]
5947pub const AVCodecID_AV_CODEC_ID_FIRST_UNKNOWN: AVCodecID = 98304;
5948pub const AVCodecID_AV_CODEC_ID_TTF: AVCodecID = 98304;
5949#[doc = "< Contain timestamp estimated through PCR of program stream."]
5950pub const AVCodecID_AV_CODEC_ID_SCTE_35: AVCodecID = 98305;
5951pub const AVCodecID_AV_CODEC_ID_BINTEXT: AVCodecID = 100352;
5952pub const AVCodecID_AV_CODEC_ID_XBIN: AVCodecID = 100353;
5953pub const AVCodecID_AV_CODEC_ID_IDF: AVCodecID = 100354;
5954pub const AVCodecID_AV_CODEC_ID_OTF: AVCodecID = 100355;
5955pub const AVCodecID_AV_CODEC_ID_SMPTE_KLV: AVCodecID = 100356;
5956pub const AVCodecID_AV_CODEC_ID_DVD_NAV: AVCodecID = 100357;
5957pub const AVCodecID_AV_CODEC_ID_TIMED_ID3: AVCodecID = 100358;
5958pub const AVCodecID_AV_CODEC_ID_BIN_DATA: AVCodecID = 100359;
5959#[doc = "< codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it"]
5960pub const AVCodecID_AV_CODEC_ID_PROBE: AVCodecID = 102400;
5961#[doc = "< _FAKE_ codec to indicate a raw MPEG-2 TS"]
5962#[doc = " stream (only used by libavformat)"]
5963pub const AVCodecID_AV_CODEC_ID_MPEG2TS: AVCodecID = 131072;
5964#[doc = "< _FAKE_ codec to indicate a MPEG-4 Systems"]
5965#[doc = " stream (only used by libavformat)"]
5966pub const AVCodecID_AV_CODEC_ID_MPEG4SYSTEMS: AVCodecID = 131073;
5967#[doc = "< Dummy codec for streams containing only metadata information."]
5968pub const AVCodecID_AV_CODEC_ID_FFMETADATA: AVCodecID = 135168;
5969#[doc = "< Passthrough codec, AVFrames wrapped in AVPacket"]
5970pub const AVCodecID_AV_CODEC_ID_WRAPPED_AVFRAME: AVCodecID = 135169;
5971#[doc = " Identify the syntax and semantics of the bitstream."]
5972#[doc = " The principle is roughly:"]
5973#[doc = " Two decoders with the same ID can decode the same streams."]
5974#[doc = " Two encoders with the same ID can encode compatible streams."]
5975#[doc = " There may be slight deviations from the principle due to implementation"]
5976#[doc = " details."]
5977#[doc = ""]
5978#[doc = " If you add a codec ID to this list, add it so that"]
5979#[doc = " 1. no value of an existing codec ID changes (that would break ABI),"]
5980#[doc = " 2. it is as close as possible to similar codecs"]
5981#[doc = ""]
5982#[doc = " After adding new codec IDs, do not forget to add an entry to the codec"]
5983#[doc = " descriptor list and bump libavcodec minor version."]
5984pub type AVCodecID = u32;
5985#[doc = " This struct describes the properties of a single codec described by an"]
5986#[doc = " AVCodecID."]
5987#[doc = " @see avcodec_descriptor_get()"]
5988#[repr(C)]
5989#[derive(Debug, Copy, Clone)]
5990pub struct AVCodecDescriptor {
5991 pub id: AVCodecID,
5992 pub type_: AVMediaType,
5993 #[doc = " Name of the codec described by this descriptor. It is non-empty and"]
5994 #[doc = " unique for each codec descriptor. It should contain alphanumeric"]
5995 #[doc = " characters and \'_\' only."]
5996 pub name: *const ::std::os::raw::c_char,
5997 #[doc = " A more descriptive name for this codec. May be NULL."]
5998 pub long_name: *const ::std::os::raw::c_char,
5999 #[doc = " Codec properties, a combination of AV_CODEC_PROP_* flags."]
6000 pub props: ::std::os::raw::c_int,
6001 #[doc = " MIME type(s) associated with the codec."]
6002 #[doc = " May be NULL; if not, a NULL-terminated array of MIME types."]
6003 #[doc = " The first item is always non-NULL and is the preferred MIME type."]
6004 pub mime_types: *const *const ::std::os::raw::c_char,
6005 #[doc = " If non-NULL, an array of profiles recognized for this codec."]
6006 #[doc = " Terminated with FF_PROFILE_UNKNOWN."]
6007 pub profiles: *const AVProfile,
6008}
6009#[doc = "< discard nothing"]
6010pub const AVDiscard_AVDISCARD_NONE: AVDiscard = -16;
6011#[doc = "< discard useless packets like 0 size packets in avi"]
6012pub const AVDiscard_AVDISCARD_DEFAULT: AVDiscard = 0;
6013#[doc = "< discard all non reference"]
6014pub const AVDiscard_AVDISCARD_NONREF: AVDiscard = 8;
6015#[doc = "< discard all bidirectional frames"]
6016pub const AVDiscard_AVDISCARD_BIDIR: AVDiscard = 16;
6017#[doc = "< discard all non intra frames"]
6018pub const AVDiscard_AVDISCARD_NONINTRA: AVDiscard = 24;
6019#[doc = "< discard all frames except keyframes"]
6020pub const AVDiscard_AVDISCARD_NONKEY: AVDiscard = 32;
6021#[doc = "< discard all"]
6022pub const AVDiscard_AVDISCARD_ALL: AVDiscard = 48;
6023#[doc = " @ingroup lavc_decoding"]
6024pub type AVDiscard = i32;
6025pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_MAIN: AVAudioServiceType = 0;
6026pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_EFFECTS: AVAudioServiceType = 1;
6027pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED: AVAudioServiceType = 2;
6028pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED: AVAudioServiceType = 3;
6029pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_DIALOGUE: AVAudioServiceType = 4;
6030pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_COMMENTARY: AVAudioServiceType = 5;
6031pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_EMERGENCY: AVAudioServiceType = 6;
6032pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_VOICE_OVER: AVAudioServiceType = 7;
6033pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_KARAOKE: AVAudioServiceType = 8;
6034#[doc = "< Not part of ABI"]
6035pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_NB: AVAudioServiceType = 9;
6036pub type AVAudioServiceType = u32;
6037#[doc = " @ingroup lavc_encoding"]
6038#[repr(C)]
6039#[derive(Debug, Copy, Clone)]
6040pub struct RcOverride {
6041 pub start_frame: ::std::os::raw::c_int,
6042 pub end_frame: ::std::os::raw::c_int,
6043 pub qscale: ::std::os::raw::c_int,
6044 pub quality_factor: f32,
6045}
6046#[doc = " Pan Scan area."]
6047#[doc = " This specifies the area which should be displayed."]
6048#[doc = " Note there may be multiple such areas for one frame."]
6049#[repr(C)]
6050#[derive(Debug, Copy, Clone)]
6051pub struct AVPanScan {
6052 #[doc = " id"]
6053 #[doc = " - encoding: Set by user."]
6054 #[doc = " - decoding: Set by libavcodec."]
6055 pub id: ::std::os::raw::c_int,
6056 #[doc = " width and height in 1/16 pel"]
6057 #[doc = " - encoding: Set by user."]
6058 #[doc = " - decoding: Set by libavcodec."]
6059 pub width: ::std::os::raw::c_int,
6060 pub height: ::std::os::raw::c_int,
6061 #[doc = " position of the top left corner in 1/16 pel for up to 3 fields/frames"]
6062 #[doc = " - encoding: Set by user."]
6063 #[doc = " - decoding: Set by libavcodec."]
6064 pub position: [[i16; 2usize]; 3usize],
6065}
6066#[doc = " This structure describes the bitrate properties of an encoded bitstream. It"]
6067#[doc = " roughly corresponds to a subset the VBV parameters for MPEG-2 or HRD"]
6068#[doc = " parameters for H.264/HEVC."]
6069#[repr(C)]
6070#[derive(Debug, Copy, Clone)]
6071pub struct AVCPBProperties {
6072 #[doc = " Maximum bitrate of the stream, in bits per second."]
6073 #[doc = " Zero if unknown or unspecified."]
6074 pub max_bitrate: ::std::os::raw::c_int,
6075 #[doc = " Minimum bitrate of the stream, in bits per second."]
6076 #[doc = " Zero if unknown or unspecified."]
6077 pub min_bitrate: ::std::os::raw::c_int,
6078 #[doc = " Average bitrate of the stream, in bits per second."]
6079 #[doc = " Zero if unknown or unspecified."]
6080 pub avg_bitrate: ::std::os::raw::c_int,
6081 #[doc = " The size of the buffer to which the ratecontrol is applied, in bits."]
6082 #[doc = " Zero if unknown or unspecified."]
6083 pub buffer_size: ::std::os::raw::c_int,
6084 #[doc = " The delay between the time the packet this structure is associated with"]
6085 #[doc = " is received and the time when it should be decoded, in periods of a 27MHz"]
6086 #[doc = " clock."]
6087 #[doc = ""]
6088 #[doc = " UINT64_MAX when unknown or unspecified."]
6089 pub vbv_delay: u64,
6090}
6091#[doc = " An AV_PKT_DATA_PALETTE side data packet contains exactly AVPALETTE_SIZE"]
6092#[doc = " bytes worth of palette. This side data signals that a new palette is"]
6093#[doc = " present."]
6094pub const AVPacketSideDataType_AV_PKT_DATA_PALETTE: AVPacketSideDataType = 0;
6095#[doc = " The AV_PKT_DATA_NEW_EXTRADATA is used to notify the codec or the format"]
6096#[doc = " that the extradata buffer was changed and the receiving side should"]
6097#[doc = " act upon it appropriately. The new extradata is embedded in the side"]
6098#[doc = " data buffer and should be immediately used for processing the current"]
6099#[doc = " frame or packet."]
6100pub const AVPacketSideDataType_AV_PKT_DATA_NEW_EXTRADATA: AVPacketSideDataType = 1;
6101#[doc = " An AV_PKT_DATA_PARAM_CHANGE side data packet is laid out as follows:"]
6102#[doc = " @code"]
6103#[doc = " u32le param_flags"]
6104#[doc = " if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT)"]
6105#[doc = " s32le channel_count"]
6106#[doc = " if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT)"]
6107#[doc = " u64le channel_layout"]
6108#[doc = " if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE)"]
6109#[doc = " s32le sample_rate"]
6110#[doc = " if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS)"]
6111#[doc = " s32le width"]
6112#[doc = " s32le height"]
6113#[doc = " @endcode"]
6114pub const AVPacketSideDataType_AV_PKT_DATA_PARAM_CHANGE: AVPacketSideDataType = 2;
6115#[doc = " An AV_PKT_DATA_H263_MB_INFO side data packet contains a number of"]
6116#[doc = " structures with info about macroblocks relevant to splitting the"]
6117#[doc = " packet into smaller packets on macroblock edges (e.g. as for RFC 2190)."]
6118#[doc = " That is, it does not necessarily contain info about all macroblocks,"]
6119#[doc = " as long as the distance between macroblocks in the info is smaller"]
6120#[doc = " than the target payload size."]
6121#[doc = " Each MB info structure is 12 bytes, and is laid out as follows:"]
6122#[doc = " @code"]
6123#[doc = " u32le bit offset from the start of the packet"]
6124#[doc = " u8 current quantizer at the start of the macroblock"]
6125#[doc = " u8 GOB number"]
6126#[doc = " u16le macroblock address within the GOB"]
6127#[doc = " u8 horizontal MV predictor"]
6128#[doc = " u8 vertical MV predictor"]
6129#[doc = " u8 horizontal MV predictor for block number 3"]
6130#[doc = " u8 vertical MV predictor for block number 3"]
6131#[doc = " @endcode"]
6132pub const AVPacketSideDataType_AV_PKT_DATA_H263_MB_INFO: AVPacketSideDataType = 3;
6133#[doc = " This side data should be associated with an audio stream and contains"]
6134#[doc = " ReplayGain information in form of the AVReplayGain struct."]
6135pub const AVPacketSideDataType_AV_PKT_DATA_REPLAYGAIN: AVPacketSideDataType = 4;
6136#[doc = " This side data contains a 3x3 transformation matrix describing an affine"]
6137#[doc = " transformation that needs to be applied to the decoded video frames for"]
6138#[doc = " correct presentation."]
6139#[doc = ""]
6140#[doc = " See libavutil/display.h for a detailed description of the data."]
6141pub const AVPacketSideDataType_AV_PKT_DATA_DISPLAYMATRIX: AVPacketSideDataType = 5;
6142#[doc = " This side data should be associated with a video stream and contains"]
6143#[doc = " Stereoscopic 3D information in form of the AVStereo3D struct."]
6144pub const AVPacketSideDataType_AV_PKT_DATA_STEREO3D: AVPacketSideDataType = 6;
6145#[doc = " This side data should be associated with an audio stream and corresponds"]
6146#[doc = " to enum AVAudioServiceType."]
6147pub const AVPacketSideDataType_AV_PKT_DATA_AUDIO_SERVICE_TYPE: AVPacketSideDataType = 7;
6148#[doc = " This side data contains quality related information from the encoder."]
6149#[doc = " @code"]
6150#[doc = " u32le quality factor of the compressed frame. Allowed range is between 1 (good) and FF_LAMBDA_MAX (bad)."]
6151#[doc = " u8 picture type"]
6152#[doc = " u8 error count"]
6153#[doc = " u16 reserved"]
6154#[doc = " u64le[error count] sum of squared differences between encoder in and output"]
6155#[doc = " @endcode"]
6156pub const AVPacketSideDataType_AV_PKT_DATA_QUALITY_STATS: AVPacketSideDataType = 8;
6157#[doc = " This side data contains an integer value representing the stream index"]
6158#[doc = " of a \"fallback\" track. A fallback track indicates an alternate"]
6159#[doc = " track to use when the current track can not be decoded for some reason."]
6160#[doc = " e.g. no decoder available for codec."]
6161pub const AVPacketSideDataType_AV_PKT_DATA_FALLBACK_TRACK: AVPacketSideDataType = 9;
6162#[doc = " This side data corresponds to the AVCPBProperties struct."]
6163pub const AVPacketSideDataType_AV_PKT_DATA_CPB_PROPERTIES: AVPacketSideDataType = 10;
6164#[doc = " Recommmends skipping the specified number of samples"]
6165#[doc = " @code"]
6166#[doc = " u32le number of samples to skip from start of this packet"]
6167#[doc = " u32le number of samples to skip from end of this packet"]
6168#[doc = " u8 reason for start skip"]
6169#[doc = " u8 reason for end skip (0=padding silence, 1=convergence)"]
6170#[doc = " @endcode"]
6171pub const AVPacketSideDataType_AV_PKT_DATA_SKIP_SAMPLES: AVPacketSideDataType = 11;
6172#[doc = " An AV_PKT_DATA_JP_DUALMONO side data packet indicates that"]
6173#[doc = " the packet may contain \"dual mono\" audio specific to Japanese DTV"]
6174#[doc = " and if it is true, recommends only the selected channel to be used."]
6175#[doc = " @code"]
6176#[doc = " u8 selected channels (0=mail/left, 1=sub/right, 2=both)"]
6177#[doc = " @endcode"]
6178pub const AVPacketSideDataType_AV_PKT_DATA_JP_DUALMONO: AVPacketSideDataType = 12;
6179#[doc = " A list of zero terminated key/value strings. There is no end marker for"]
6180#[doc = " the list, so it is required to rely on the side data size to stop."]
6181pub const AVPacketSideDataType_AV_PKT_DATA_STRINGS_METADATA: AVPacketSideDataType = 13;
6182#[doc = " Subtitle event position"]
6183#[doc = " @code"]
6184#[doc = " u32le x1"]
6185#[doc = " u32le y1"]
6186#[doc = " u32le x2"]
6187#[doc = " u32le y2"]
6188#[doc = " @endcode"]
6189pub const AVPacketSideDataType_AV_PKT_DATA_SUBTITLE_POSITION: AVPacketSideDataType = 14;
6190#[doc = " Data found in BlockAdditional element of matroska container. There is"]
6191#[doc = " no end marker for the data, so it is required to rely on the side data"]
6192#[doc = " size to recognize the end. 8 byte id (as found in BlockAddId) followed"]
6193#[doc = " by data."]
6194pub const AVPacketSideDataType_AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL: AVPacketSideDataType = 15;
6195#[doc = " The optional first identifier line of a WebVTT cue."]
6196pub const AVPacketSideDataType_AV_PKT_DATA_WEBVTT_IDENTIFIER: AVPacketSideDataType = 16;
6197#[doc = " The optional settings (rendering instructions) that immediately"]
6198#[doc = " follow the timestamp specifier of a WebVTT cue."]
6199pub const AVPacketSideDataType_AV_PKT_DATA_WEBVTT_SETTINGS: AVPacketSideDataType = 17;
6200#[doc = " A list of zero terminated key/value strings. There is no end marker for"]
6201#[doc = " the list, so it is required to rely on the side data size to stop. This"]
6202#[doc = " side data includes updated metadata which appeared in the stream."]
6203pub const AVPacketSideDataType_AV_PKT_DATA_METADATA_UPDATE: AVPacketSideDataType = 18;
6204#[doc = " MPEGTS stream ID as uint8_t, this is required to pass the stream ID"]
6205#[doc = " information from the demuxer to the corresponding muxer."]
6206pub const AVPacketSideDataType_AV_PKT_DATA_MPEGTS_STREAM_ID: AVPacketSideDataType = 19;
6207#[doc = " Mastering display metadata (based on SMPTE-2086:2014). This metadata"]
6208#[doc = " should be associated with a video stream and contains data in the form"]
6209#[doc = " of the AVMasteringDisplayMetadata struct."]
6210pub const AVPacketSideDataType_AV_PKT_DATA_MASTERING_DISPLAY_METADATA: AVPacketSideDataType = 20;
6211#[doc = " This side data should be associated with a video stream and corresponds"]
6212#[doc = " to the AVSphericalMapping structure."]
6213pub const AVPacketSideDataType_AV_PKT_DATA_SPHERICAL: AVPacketSideDataType = 21;
6214#[doc = " Content light level (based on CTA-861.3). This metadata should be"]
6215#[doc = " associated with a video stream and contains data in the form of the"]
6216#[doc = " AVContentLightMetadata struct."]
6217pub const AVPacketSideDataType_AV_PKT_DATA_CONTENT_LIGHT_LEVEL: AVPacketSideDataType = 22;
6218#[doc = " ATSC A53 Part 4 Closed Captions. This metadata should be associated with"]
6219#[doc = " a video stream. A53 CC bitstream is stored as uint8_t in AVPacketSideData.data."]
6220#[doc = " The number of bytes of CC data is AVPacketSideData.size."]
6221pub const AVPacketSideDataType_AV_PKT_DATA_A53_CC: AVPacketSideDataType = 23;
6222#[doc = " This side data is encryption initialization data."]
6223#[doc = " The format is not part of ABI, use av_encryption_init_info_* methods to"]
6224#[doc = " access."]
6225pub const AVPacketSideDataType_AV_PKT_DATA_ENCRYPTION_INIT_INFO: AVPacketSideDataType = 24;
6226#[doc = " This side data contains encryption info for how to decrypt the packet."]
6227#[doc = " The format is not part of ABI, use av_encryption_info_* methods to access."]
6228pub const AVPacketSideDataType_AV_PKT_DATA_ENCRYPTION_INFO: AVPacketSideDataType = 25;
6229#[doc = " Active Format Description data consisting of a single byte as specified"]
6230#[doc = " in ETSI TS 101 154 using AVActiveFormatDescription enum."]
6231pub const AVPacketSideDataType_AV_PKT_DATA_AFD: AVPacketSideDataType = 26;
6232#[doc = " The number of side data types."]
6233#[doc = " This is not part of the public API/ABI in the sense that it may"]
6234#[doc = " change when new side data types are added."]
6235#[doc = " This must stay the last enum value."]
6236#[doc = " If its value becomes huge, some code using it"]
6237#[doc = " needs to be updated as it assumes it to be smaller than other limits."]
6238pub const AVPacketSideDataType_AV_PKT_DATA_NB: AVPacketSideDataType = 27;
6239#[doc = " @defgroup lavc_packet AVPacket"]
6240#[doc = ""]
6241#[doc = " Types and functions for working with AVPacket."]
6242#[doc = " @{"]
6243pub type AVPacketSideDataType = u32;
6244#[repr(C)]
6245#[derive(Debug, Copy, Clone)]
6246pub struct AVPacketSideData {
6247 pub data: *mut u8,
6248 pub size: ::std::os::raw::c_int,
6249 pub type_: AVPacketSideDataType,
6250}
6251#[doc = " This structure stores compressed data. It is typically exported by demuxers"]
6252#[doc = " and then passed as input to decoders, or received as output from encoders and"]
6253#[doc = " then passed to muxers."]
6254#[doc = ""]
6255#[doc = " For video, it should typically contain one compressed frame. For audio it may"]
6256#[doc = " contain several compressed frames. Encoders are allowed to output empty"]
6257#[doc = " packets, with no compressed data, containing only side data"]
6258#[doc = " (e.g. to update some stream parameters at the end of encoding)."]
6259#[doc = ""]
6260#[doc = " AVPacket is one of the few structs in FFmpeg, whose size is a part of public"]
6261#[doc = " ABI. Thus it may be allocated on stack and no new fields can be added to it"]
6262#[doc = " without libavcodec and libavformat major bump."]
6263#[doc = ""]
6264#[doc = " The semantics of data ownership depends on the buf field."]
6265#[doc = " If it is set, the packet data is dynamically allocated and is"]
6266#[doc = " valid indefinitely until a call to av_packet_unref() reduces the"]
6267#[doc = " reference count to 0."]
6268#[doc = ""]
6269#[doc = " If the buf field is not set av_packet_ref() would make a copy instead"]
6270#[doc = " of increasing the reference count."]
6271#[doc = ""]
6272#[doc = " The side data is always allocated with av_malloc(), copied by"]
6273#[doc = " av_packet_ref() and freed by av_packet_unref()."]
6274#[doc = ""]
6275#[doc = " @see av_packet_ref"]
6276#[doc = " @see av_packet_unref"]
6277#[repr(C)]
6278#[derive(Debug, Copy, Clone)]
6279pub struct AVPacket {
6280 #[doc = " A reference to the reference-counted buffer where the packet data is"]
6281 #[doc = " stored."]
6282 #[doc = " May be NULL, then the packet data is not reference-counted."]
6283 pub buf: *mut AVBufferRef,
6284 #[doc = " Presentation timestamp in AVStream->time_base units; the time at which"]
6285 #[doc = " the decompressed packet will be presented to the user."]
6286 #[doc = " Can be AV_NOPTS_VALUE if it is not stored in the file."]
6287 #[doc = " pts MUST be larger or equal to dts as presentation cannot happen before"]
6288 #[doc = " decompression, unless one wants to view hex dumps. Some formats misuse"]
6289 #[doc = " the terms dts and pts/cts to mean something different. Such timestamps"]
6290 #[doc = " must be converted to true pts/dts before they are stored in AVPacket."]
6291 pub pts: i64,
6292 #[doc = " Decompression timestamp in AVStream->time_base units; the time at which"]
6293 #[doc = " the packet is decompressed."]
6294 #[doc = " Can be AV_NOPTS_VALUE if it is not stored in the file."]
6295 pub dts: i64,
6296 pub data: *mut u8,
6297 pub size: ::std::os::raw::c_int,
6298 pub stream_index: ::std::os::raw::c_int,
6299 #[doc = " A combination of AV_PKT_FLAG values"]
6300 pub flags: ::std::os::raw::c_int,
6301 #[doc = " Additional packet data that can be provided by the container."]
6302 #[doc = " Packet can contain several types of side information."]
6303 pub side_data: *mut AVPacketSideData,
6304 pub side_data_elems: ::std::os::raw::c_int,
6305 #[doc = " Duration of this packet in AVStream->time_base units, 0 if unknown."]
6306 #[doc = " Equals next_pts - this_pts in presentation order."]
6307 pub duration: i64,
6308 #[doc = "< byte position in stream, -1 if unknown"]
6309 pub pos: i64,
6310 #[doc = " @deprecated Same as the duration field, but as int64_t. This was required"]
6311 #[doc = " for Matroska subtitles, whose duration values could overflow when the"]
6312 #[doc = " duration field was still an int."]
6313 pub convergence_duration: i64,
6314}
6315pub const AVSideDataParamChangeFlags_AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT:
6316 AVSideDataParamChangeFlags = 1;
6317pub const AVSideDataParamChangeFlags_AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT:
6318 AVSideDataParamChangeFlags = 2;
6319pub const AVSideDataParamChangeFlags_AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE:
6320 AVSideDataParamChangeFlags = 4;
6321pub const AVSideDataParamChangeFlags_AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS:
6322 AVSideDataParamChangeFlags = 8;
6323pub type AVSideDataParamChangeFlags = u32;
6324#[doc = " @}"]
6325#[repr(C)]
6326#[derive(Debug, Copy, Clone)]
6327pub struct AVCodecInternal {
6328 _unused: [u8; 0],
6329}
6330pub const AVFieldOrder_AV_FIELD_UNKNOWN: AVFieldOrder = 0;
6331pub const AVFieldOrder_AV_FIELD_PROGRESSIVE: AVFieldOrder = 1;
6332pub const AVFieldOrder_AV_FIELD_TT: AVFieldOrder = 2;
6333pub const AVFieldOrder_AV_FIELD_BB: AVFieldOrder = 3;
6334pub const AVFieldOrder_AV_FIELD_TB: AVFieldOrder = 4;
6335pub const AVFieldOrder_AV_FIELD_BT: AVFieldOrder = 5;
6336pub type AVFieldOrder = u32;
6337#[doc = " main external API structure."]
6338#[doc = " New fields can be added to the end with minor version bumps."]
6339#[doc = " Removal, reordering and changes to existing fields require a major"]
6340#[doc = " version bump."]
6341#[doc = " You can use AVOptions (av_opt* / av_set/get*()) to access these fields from user"]
6342#[doc = " applications."]
6343#[doc = " The name string for AVOptions options matches the associated command line"]
6344#[doc = " parameter name and can be found in libavcodec/options_table.h"]
6345#[doc = " The AVOption/command line parameter names differ in some cases from the C"]
6346#[doc = " structure field names for historic reasons or brevity."]
6347#[doc = " sizeof(AVCodecContext) must not be used outside libav*."]
6348#[repr(C)]
6349#[derive(Debug, Copy, Clone)]
6350pub struct AVCodecContext {
6351 #[doc = " information on struct for av_log"]
6352 #[doc = " - set by avcodec_alloc_context3"]
6353 pub av_class: *const AVClass,
6354 pub log_level_offset: ::std::os::raw::c_int,
6355 pub codec_type: AVMediaType,
6356 pub codec: *const AVCodec,
6357 pub codec_id: AVCodecID,
6358 #[doc = " fourcc (LSB first, so \"ABCD\" -> (\'D\'<<24) + (\'C\'<<16) + (\'B\'<<8) + \'A\')."]
6359 #[doc = " This is used to work around some encoder bugs."]
6360 #[doc = " A demuxer should set this to what is stored in the field used to identify the codec."]
6361 #[doc = " If there are multiple such fields in a container then the demuxer should choose the one"]
6362 #[doc = " which maximizes the information about the used codec."]
6363 #[doc = " If the codec tag field in a container is larger than 32 bits then the demuxer should"]
6364 #[doc = " remap the longer ID to 32 bits with a table or other structure. Alternatively a new"]
6365 #[doc = " extra_codec_tag + size could be added but for this a clear advantage must be demonstrated"]
6366 #[doc = " first."]
6367 #[doc = " - encoding: Set by user, if not then the default based on codec_id will be used."]
6368 #[doc = " - decoding: Set by user, will be converted to uppercase by libavcodec during init."]
6369 pub codec_tag: ::std::os::raw::c_uint,
6370 pub priv_data: *mut ::std::os::raw::c_void,
6371 #[doc = " Private context used for internal data."]
6372 #[doc = ""]
6373 #[doc = " Unlike priv_data, this is not codec-specific. It is used in general"]
6374 #[doc = " libavcodec functions."]
6375 pub internal: *mut AVCodecInternal,
6376 #[doc = " Private data of the user, can be used to carry app specific stuff."]
6377 #[doc = " - encoding: Set by user."]
6378 #[doc = " - decoding: Set by user."]
6379 pub opaque: *mut ::std::os::raw::c_void,
6380 #[doc = " the average bitrate"]
6381 #[doc = " - encoding: Set by user; unused for constant quantizer encoding."]
6382 #[doc = " - decoding: Set by user, may be overwritten by libavcodec"]
6383 #[doc = " if this info is available in the stream"]
6384 pub bit_rate: i64,
6385 #[doc = " number of bits the bitstream is allowed to diverge from the reference."]
6386 #[doc = " the reference can be CBR (for CBR pass1) or VBR (for pass2)"]
6387 #[doc = " - encoding: Set by user; unused for constant quantizer encoding."]
6388 #[doc = " - decoding: unused"]
6389 pub bit_rate_tolerance: ::std::os::raw::c_int,
6390 #[doc = " Global quality for codecs which cannot change it per frame."]
6391 #[doc = " This should be proportional to MPEG-1/2/4 qscale."]
6392 #[doc = " - encoding: Set by user."]
6393 #[doc = " - decoding: unused"]
6394 pub global_quality: ::std::os::raw::c_int,
6395 #[doc = " - encoding: Set by user."]
6396 #[doc = " - decoding: unused"]
6397 pub compression_level: ::std::os::raw::c_int,
6398 #[doc = " AV_CODEC_FLAG_*."]
6399 #[doc = " - encoding: Set by user."]
6400 #[doc = " - decoding: Set by user."]
6401 pub flags: ::std::os::raw::c_int,
6402 #[doc = " AV_CODEC_FLAG2_*"]
6403 #[doc = " - encoding: Set by user."]
6404 #[doc = " - decoding: Set by user."]
6405 pub flags2: ::std::os::raw::c_int,
6406 #[doc = " some codecs need / can use extradata like Huffman tables."]
6407 #[doc = " MJPEG: Huffman tables"]
6408 #[doc = " rv10: additional flags"]
6409 #[doc = " MPEG-4: global headers (they can be in the bitstream or here)"]
6410 #[doc = " The allocated memory should be AV_INPUT_BUFFER_PADDING_SIZE bytes larger"]
6411 #[doc = " than extradata_size to avoid problems if it is read with the bitstream reader."]
6412 #[doc = " The bytewise contents of extradata must not depend on the architecture or CPU endianness."]
6413 #[doc = " Must be allocated with the av_malloc() family of functions."]
6414 #[doc = " - encoding: Set/allocated/freed by libavcodec."]
6415 #[doc = " - decoding: Set/allocated/freed by user."]
6416 pub extradata: *mut u8,
6417 pub extradata_size: ::std::os::raw::c_int,
6418 #[doc = " This is the fundamental unit of time (in seconds) in terms"]
6419 #[doc = " of which frame timestamps are represented. For fixed-fps content,"]
6420 #[doc = " timebase should be 1/framerate and timestamp increments should be"]
6421 #[doc = " identically 1."]
6422 #[doc = " This often, but not always is the inverse of the frame rate or field rate"]
6423 #[doc = " for video. 1/time_base is not the average frame rate if the frame rate is not"]
6424 #[doc = " constant."]
6425 #[doc = ""]
6426 #[doc = " Like containers, elementary streams also can store timestamps, 1/time_base"]
6427 #[doc = " is the unit in which these timestamps are specified."]
6428 #[doc = " As example of such codec time base see ISO/IEC 14496-2:2001(E)"]
6429 #[doc = " vop_time_increment_resolution and fixed_vop_rate"]
6430 #[doc = " (fixed_vop_rate == 0 implies that it is different from the framerate)"]
6431 #[doc = ""]
6432 #[doc = " - encoding: MUST be set by user."]
6433 #[doc = " - decoding: the use of this field for decoding is deprecated."]
6434 #[doc = " Use framerate instead."]
6435 pub time_base: AVRational,
6436 #[doc = " For some codecs, the time base is closer to the field rate than the frame rate."]
6437 #[doc = " Most notably, H.264 and MPEG-2 specify time_base as half of frame duration"]
6438 #[doc = " if no telecine is used ..."]
6439 #[doc = ""]
6440 #[doc = " Set to time_base ticks per frame. Default 1, e.g., H.264/MPEG-2 set it to 2."]
6441 pub ticks_per_frame: ::std::os::raw::c_int,
6442 #[doc = " Codec delay."]
6443 #[doc = ""]
6444 #[doc = " Encoding: Number of frames delay there will be from the encoder input to"]
6445 #[doc = " the decoder output. (we assume the decoder matches the spec)"]
6446 #[doc = " Decoding: Number of frames delay in addition to what a standard decoder"]
6447 #[doc = " as specified in the spec would produce."]
6448 #[doc = ""]
6449 #[doc = " Video:"]
6450 #[doc = " Number of frames the decoded output will be delayed relative to the"]
6451 #[doc = " encoded input."]
6452 #[doc = ""]
6453 #[doc = " Audio:"]
6454 #[doc = " For encoding, this field is unused (see initial_padding)."]
6455 #[doc = ""]
6456 #[doc = " For decoding, this is the number of samples the decoder needs to"]
6457 #[doc = " output before the decoder\'s output is valid. When seeking, you should"]
6458 #[doc = " start decoding this many samples prior to your desired seek point."]
6459 #[doc = ""]
6460 #[doc = " - encoding: Set by libavcodec."]
6461 #[doc = " - decoding: Set by libavcodec."]
6462 pub delay: ::std::os::raw::c_int,
6463 #[doc = " picture width / height."]
6464 #[doc = ""]
6465 #[doc = " @note Those fields may not match the values of the last"]
6466 #[doc = " AVFrame output by avcodec_decode_video2 due frame"]
6467 #[doc = " reordering."]
6468 #[doc = ""]
6469 #[doc = " - encoding: MUST be set by user."]
6470 #[doc = " - decoding: May be set by the user before opening the decoder if known e.g."]
6471 #[doc = " from the container. Some decoders will require the dimensions"]
6472 #[doc = " to be set by the caller. During decoding, the decoder may"]
6473 #[doc = " overwrite those values as required while parsing the data."]
6474 pub width: ::std::os::raw::c_int,
6475 #[doc = " picture width / height."]
6476 #[doc = ""]
6477 #[doc = " @note Those fields may not match the values of the last"]
6478 #[doc = " AVFrame output by avcodec_decode_video2 due frame"]
6479 #[doc = " reordering."]
6480 #[doc = ""]
6481 #[doc = " - encoding: MUST be set by user."]
6482 #[doc = " - decoding: May be set by the user before opening the decoder if known e.g."]
6483 #[doc = " from the container. Some decoders will require the dimensions"]
6484 #[doc = " to be set by the caller. During decoding, the decoder may"]
6485 #[doc = " overwrite those values as required while parsing the data."]
6486 pub height: ::std::os::raw::c_int,
6487 #[doc = " Bitstream width / height, may be different from width/height e.g. when"]
6488 #[doc = " the decoded frame is cropped before being output or lowres is enabled."]
6489 #[doc = ""]
6490 #[doc = " @note Those field may not match the value of the last"]
6491 #[doc = " AVFrame output by avcodec_receive_frame() due frame"]
6492 #[doc = " reordering."]
6493 #[doc = ""]
6494 #[doc = " - encoding: unused"]
6495 #[doc = " - decoding: May be set by the user before opening the decoder if known"]
6496 #[doc = " e.g. from the container. During decoding, the decoder may"]
6497 #[doc = " overwrite those values as required while parsing the data."]
6498 pub coded_width: ::std::os::raw::c_int,
6499 #[doc = " Bitstream width / height, may be different from width/height e.g. when"]
6500 #[doc = " the decoded frame is cropped before being output or lowres is enabled."]
6501 #[doc = ""]
6502 #[doc = " @note Those field may not match the value of the last"]
6503 #[doc = " AVFrame output by avcodec_receive_frame() due frame"]
6504 #[doc = " reordering."]
6505 #[doc = ""]
6506 #[doc = " - encoding: unused"]
6507 #[doc = " - decoding: May be set by the user before opening the decoder if known"]
6508 #[doc = " e.g. from the container. During decoding, the decoder may"]
6509 #[doc = " overwrite those values as required while parsing the data."]
6510 pub coded_height: ::std::os::raw::c_int,
6511 #[doc = " the number of pictures in a group of pictures, or 0 for intra_only"]
6512 #[doc = " - encoding: Set by user."]
6513 #[doc = " - decoding: unused"]
6514 pub gop_size: ::std::os::raw::c_int,
6515 #[doc = " Pixel format, see AV_PIX_FMT_xxx."]
6516 #[doc = " May be set by the demuxer if known from headers."]
6517 #[doc = " May be overridden by the decoder if it knows better."]
6518 #[doc = ""]
6519 #[doc = " @note This field may not match the value of the last"]
6520 #[doc = " AVFrame output by avcodec_receive_frame() due frame"]
6521 #[doc = " reordering."]
6522 #[doc = ""]
6523 #[doc = " - encoding: Set by user."]
6524 #[doc = " - decoding: Set by user if known, overridden by libavcodec while"]
6525 #[doc = " parsing the data."]
6526 pub pix_fmt: AVPixelFormat,
6527 #[doc = " If non NULL, \'draw_horiz_band\' is called by the libavcodec"]
6528 #[doc = " decoder to draw a horizontal band. It improves cache usage. Not"]
6529 #[doc = " all codecs can do that. You must check the codec capabilities"]
6530 #[doc = " beforehand."]
6531 #[doc = " When multithreading is used, it may be called from multiple threads"]
6532 #[doc = " at the same time; threads might draw different parts of the same AVFrame,"]
6533 #[doc = " or multiple AVFrames, and there is no guarantee that slices will be drawn"]
6534 #[doc = " in order."]
6535 #[doc = " The function is also used by hardware acceleration APIs."]
6536 #[doc = " It is called at least once during frame decoding to pass"]
6537 #[doc = " the data needed for hardware render."]
6538 #[doc = " In that mode instead of pixel data, AVFrame points to"]
6539 #[doc = " a structure specific to the acceleration API. The application"]
6540 #[doc = " reads the structure and can change some fields to indicate progress"]
6541 #[doc = " or mark state."]
6542 #[doc = " - encoding: unused"]
6543 #[doc = " - decoding: Set by user."]
6544 #[doc = " @param height the height of the slice"]
6545 #[doc = " @param y the y position of the slice"]
6546 #[doc = " @param type 1->top field, 2->bottom field, 3->frame"]
6547 #[doc = " @param offset offset into the AVFrame.data from which the slice should be read"]
6548 pub draw_horiz_band: ::std::option::Option<
6549 unsafe extern "C" fn(
6550 s: *mut AVCodecContext,
6551 src: *const AVFrame,
6552 offset: *mut ::std::os::raw::c_int,
6553 y: ::std::os::raw::c_int,
6554 type_: ::std::os::raw::c_int,
6555 height: ::std::os::raw::c_int,
6556 ),
6557 >,
6558 #[doc = " callback to negotiate the pixelFormat"]
6559 #[doc = " @param fmt is the list of formats which are supported by the codec,"]
6560 #[doc = " it is terminated by -1 as 0 is a valid format, the formats are ordered by quality."]
6561 #[doc = " The first is always the native one."]
6562 #[doc = " @note The callback may be called again immediately if initialization for"]
6563 #[doc = " the selected (hardware-accelerated) pixel format failed."]
6564 #[doc = " @warning Behavior is undefined if the callback returns a value not"]
6565 #[doc = " in the fmt list of formats."]
6566 #[doc = " @return the chosen format"]
6567 #[doc = " - encoding: unused"]
6568 #[doc = " - decoding: Set by user, if not set the native format will be chosen."]
6569 pub get_format: ::std::option::Option<
6570 unsafe extern "C" fn(s: *mut AVCodecContext, fmt: *const AVPixelFormat) -> AVPixelFormat,
6571 >,
6572 #[doc = " maximum number of B-frames between non-B-frames"]
6573 #[doc = " Note: The output will be delayed by max_b_frames+1 relative to the input."]
6574 #[doc = " - encoding: Set by user."]
6575 #[doc = " - decoding: unused"]
6576 pub max_b_frames: ::std::os::raw::c_int,
6577 #[doc = " qscale factor between IP and B-frames"]
6578 #[doc = " If > 0 then the last P-frame quantizer will be used (q= lastp_q*factor+offset)."]
6579 #[doc = " If < 0 then normal ratecontrol will be done (q= -normal_q*factor+offset)."]
6580 #[doc = " - encoding: Set by user."]
6581 #[doc = " - decoding: unused"]
6582 pub b_quant_factor: f32,
6583 #[doc = " @deprecated use encoder private options instead"]
6584 pub b_frame_strategy: ::std::os::raw::c_int,
6585 #[doc = " qscale offset between IP and B-frames"]
6586 #[doc = " - encoding: Set by user."]
6587 #[doc = " - decoding: unused"]
6588 pub b_quant_offset: f32,
6589 #[doc = " Size of the frame reordering buffer in the decoder."]
6590 #[doc = " For MPEG-2 it is 1 IPB or 0 low delay IP."]
6591 #[doc = " - encoding: Set by libavcodec."]
6592 #[doc = " - decoding: Set by libavcodec."]
6593 pub has_b_frames: ::std::os::raw::c_int,
6594 #[doc = " @deprecated use encoder private options instead"]
6595 pub mpeg_quant: ::std::os::raw::c_int,
6596 #[doc = " qscale factor between P- and I-frames"]
6597 #[doc = " If > 0 then the last P-frame quantizer will be used (q = lastp_q * factor + offset)."]
6598 #[doc = " If < 0 then normal ratecontrol will be done (q= -normal_q*factor+offset)."]
6599 #[doc = " - encoding: Set by user."]
6600 #[doc = " - decoding: unused"]
6601 pub i_quant_factor: f32,
6602 #[doc = " qscale offset between P and I-frames"]
6603 #[doc = " - encoding: Set by user."]
6604 #[doc = " - decoding: unused"]
6605 pub i_quant_offset: f32,
6606 #[doc = " luminance masking (0-> disabled)"]
6607 #[doc = " - encoding: Set by user."]
6608 #[doc = " - decoding: unused"]
6609 pub lumi_masking: f32,
6610 #[doc = " temporary complexity masking (0-> disabled)"]
6611 #[doc = " - encoding: Set by user."]
6612 #[doc = " - decoding: unused"]
6613 pub temporal_cplx_masking: f32,
6614 #[doc = " spatial complexity masking (0-> disabled)"]
6615 #[doc = " - encoding: Set by user."]
6616 #[doc = " - decoding: unused"]
6617 pub spatial_cplx_masking: f32,
6618 #[doc = " p block masking (0-> disabled)"]
6619 #[doc = " - encoding: Set by user."]
6620 #[doc = " - decoding: unused"]
6621 pub p_masking: f32,
6622 #[doc = " darkness masking (0-> disabled)"]
6623 #[doc = " - encoding: Set by user."]
6624 #[doc = " - decoding: unused"]
6625 pub dark_masking: f32,
6626 #[doc = " slice count"]
6627 #[doc = " - encoding: Set by libavcodec."]
6628 #[doc = " - decoding: Set by user (or 0)."]
6629 pub slice_count: ::std::os::raw::c_int,
6630 #[doc = " @deprecated use encoder private options instead"]
6631 pub prediction_method: ::std::os::raw::c_int,
6632 #[doc = " slice offsets in the frame in bytes"]
6633 #[doc = " - encoding: Set/allocated by libavcodec."]
6634 #[doc = " - decoding: Set/allocated by user (or NULL)."]
6635 pub slice_offset: *mut ::std::os::raw::c_int,
6636 #[doc = " sample aspect ratio (0 if unknown)"]
6637 #[doc = " That is the width of a pixel divided by the height of the pixel."]
6638 #[doc = " Numerator and denominator must be relatively prime and smaller than 256 for some video standards."]
6639 #[doc = " - encoding: Set by user."]
6640 #[doc = " - decoding: Set by libavcodec."]
6641 pub sample_aspect_ratio: AVRational,
6642 #[doc = " motion estimation comparison function"]
6643 #[doc = " - encoding: Set by user."]
6644 #[doc = " - decoding: unused"]
6645 pub me_cmp: ::std::os::raw::c_int,
6646 #[doc = " subpixel motion estimation comparison function"]
6647 #[doc = " - encoding: Set by user."]
6648 #[doc = " - decoding: unused"]
6649 pub me_sub_cmp: ::std::os::raw::c_int,
6650 #[doc = " macroblock comparison function (not supported yet)"]
6651 #[doc = " - encoding: Set by user."]
6652 #[doc = " - decoding: unused"]
6653 pub mb_cmp: ::std::os::raw::c_int,
6654 #[doc = " interlaced DCT comparison function"]
6655 #[doc = " - encoding: Set by user."]
6656 #[doc = " - decoding: unused"]
6657 pub ildct_cmp: ::std::os::raw::c_int,
6658 #[doc = " ME diamond size & shape"]
6659 #[doc = " - encoding: Set by user."]
6660 #[doc = " - decoding: unused"]
6661 pub dia_size: ::std::os::raw::c_int,
6662 #[doc = " amount of previous MV predictors (2a+1 x 2a+1 square)"]
6663 #[doc = " - encoding: Set by user."]
6664 #[doc = " - decoding: unused"]
6665 pub last_predictor_count: ::std::os::raw::c_int,
6666 #[doc = " @deprecated use encoder private options instead"]
6667 pub pre_me: ::std::os::raw::c_int,
6668 #[doc = " motion estimation prepass comparison function"]
6669 #[doc = " - encoding: Set by user."]
6670 #[doc = " - decoding: unused"]
6671 pub me_pre_cmp: ::std::os::raw::c_int,
6672 #[doc = " ME prepass diamond size & shape"]
6673 #[doc = " - encoding: Set by user."]
6674 #[doc = " - decoding: unused"]
6675 pub pre_dia_size: ::std::os::raw::c_int,
6676 #[doc = " subpel ME quality"]
6677 #[doc = " - encoding: Set by user."]
6678 #[doc = " - decoding: unused"]
6679 pub me_subpel_quality: ::std::os::raw::c_int,
6680 #[doc = " maximum motion estimation search range in subpel units"]
6681 #[doc = " If 0 then no limit."]
6682 #[doc = ""]
6683 #[doc = " - encoding: Set by user."]
6684 #[doc = " - decoding: unused"]
6685 pub me_range: ::std::os::raw::c_int,
6686 #[doc = " slice flags"]
6687 #[doc = " - encoding: unused"]
6688 #[doc = " - decoding: Set by user."]
6689 pub slice_flags: ::std::os::raw::c_int,
6690 #[doc = " macroblock decision mode"]
6691 #[doc = " - encoding: Set by user."]
6692 #[doc = " - decoding: unused"]
6693 pub mb_decision: ::std::os::raw::c_int,
6694 #[doc = " custom intra quantization matrix"]
6695 #[doc = " - encoding: Set by user, can be NULL."]
6696 #[doc = " - decoding: Set by libavcodec."]
6697 pub intra_matrix: *mut u16,
6698 #[doc = " custom inter quantization matrix"]
6699 #[doc = " - encoding: Set by user, can be NULL."]
6700 #[doc = " - decoding: Set by libavcodec."]
6701 pub inter_matrix: *mut u16,
6702 #[doc = " @deprecated use encoder private options instead"]
6703 pub scenechange_threshold: ::std::os::raw::c_int,
6704 #[doc = " @deprecated use encoder private options instead"]
6705 pub noise_reduction: ::std::os::raw::c_int,
6706 #[doc = " precision of the intra DC coefficient - 8"]
6707 #[doc = " - encoding: Set by user."]
6708 #[doc = " - decoding: Set by libavcodec"]
6709 pub intra_dc_precision: ::std::os::raw::c_int,
6710 #[doc = " Number of macroblock rows at the top which are skipped."]
6711 #[doc = " - encoding: unused"]
6712 #[doc = " - decoding: Set by user."]
6713 pub skip_top: ::std::os::raw::c_int,
6714 #[doc = " Number of macroblock rows at the bottom which are skipped."]
6715 #[doc = " - encoding: unused"]
6716 #[doc = " - decoding: Set by user."]
6717 pub skip_bottom: ::std::os::raw::c_int,
6718 #[doc = " minimum MB Lagrange multiplier"]
6719 #[doc = " - encoding: Set by user."]
6720 #[doc = " - decoding: unused"]
6721 pub mb_lmin: ::std::os::raw::c_int,
6722 #[doc = " maximum MB Lagrange multiplier"]
6723 #[doc = " - encoding: Set by user."]
6724 #[doc = " - decoding: unused"]
6725 pub mb_lmax: ::std::os::raw::c_int,
6726 #[doc = " @deprecated use encoder private options instead"]
6727 pub me_penalty_compensation: ::std::os::raw::c_int,
6728 #[doc = " - encoding: Set by user."]
6729 #[doc = " - decoding: unused"]
6730 pub bidir_refine: ::std::os::raw::c_int,
6731 #[doc = " @deprecated use encoder private options instead"]
6732 pub brd_scale: ::std::os::raw::c_int,
6733 #[doc = " minimum GOP size"]
6734 #[doc = " - encoding: Set by user."]
6735 #[doc = " - decoding: unused"]
6736 pub keyint_min: ::std::os::raw::c_int,
6737 #[doc = " number of reference frames"]
6738 #[doc = " - encoding: Set by user."]
6739 #[doc = " - decoding: Set by lavc."]
6740 pub refs: ::std::os::raw::c_int,
6741 #[doc = " @deprecated use encoder private options instead"]
6742 pub chromaoffset: ::std::os::raw::c_int,
6743 #[doc = " Note: Value depends upon the compare function used for fullpel ME."]
6744 #[doc = " - encoding: Set by user."]
6745 #[doc = " - decoding: unused"]
6746 pub mv0_threshold: ::std::os::raw::c_int,
6747 #[doc = " @deprecated use encoder private options instead"]
6748 pub b_sensitivity: ::std::os::raw::c_int,
6749 #[doc = " Chromaticity coordinates of the source primaries."]
6750 #[doc = " - encoding: Set by user"]
6751 #[doc = " - decoding: Set by libavcodec"]
6752 pub color_primaries: AVColorPrimaries,
6753 #[doc = " Color Transfer Characteristic."]
6754 #[doc = " - encoding: Set by user"]
6755 #[doc = " - decoding: Set by libavcodec"]
6756 pub color_trc: AVColorTransferCharacteristic,
6757 #[doc = " YUV colorspace type."]
6758 #[doc = " - encoding: Set by user"]
6759 #[doc = " - decoding: Set by libavcodec"]
6760 pub colorspace: AVColorSpace,
6761 #[doc = " MPEG vs JPEG YUV range."]
6762 #[doc = " - encoding: Set by user"]
6763 #[doc = " - decoding: Set by libavcodec"]
6764 pub color_range: AVColorRange,
6765 #[doc = " This defines the location of chroma samples."]
6766 #[doc = " - encoding: Set by user"]
6767 #[doc = " - decoding: Set by libavcodec"]
6768 pub chroma_sample_location: AVChromaLocation,
6769 #[doc = " Number of slices."]
6770 #[doc = " Indicates number of picture subdivisions. Used for parallelized"]
6771 #[doc = " decoding."]
6772 #[doc = " - encoding: Set by user"]
6773 #[doc = " - decoding: unused"]
6774 pub slices: ::std::os::raw::c_int,
6775 #[doc = " Field order"]
6776 #[doc = " - encoding: set by libavcodec"]
6777 #[doc = " - decoding: Set by user."]
6778 pub field_order: AVFieldOrder,
6779 #[doc = "< samples per second"]
6780 pub sample_rate: ::std::os::raw::c_int,
6781 #[doc = "< number of audio channels"]
6782 pub channels: ::std::os::raw::c_int,
6783 #[doc = "< sample format"]
6784 pub sample_fmt: AVSampleFormat,
6785 #[doc = " Number of samples per channel in an audio frame."]
6786 #[doc = ""]
6787 #[doc = " - encoding: set by libavcodec in avcodec_open2(). Each submitted frame"]
6788 #[doc = " except the last must contain exactly frame_size samples per channel."]
6789 #[doc = " May be 0 when the codec has AV_CODEC_CAP_VARIABLE_FRAME_SIZE set, then the"]
6790 #[doc = " frame size is not restricted."]
6791 #[doc = " - decoding: may be set by some decoders to indicate constant frame size"]
6792 pub frame_size: ::std::os::raw::c_int,
6793 #[doc = " Frame counter, set by libavcodec."]
6794 #[doc = ""]
6795 #[doc = " - decoding: total number of frames returned from the decoder so far."]
6796 #[doc = " - encoding: total number of frames passed to the encoder so far."]
6797 #[doc = ""]
6798 #[doc = " @note the counter is not incremented if encoding/decoding resulted in"]
6799 #[doc = " an error."]
6800 pub frame_number: ::std::os::raw::c_int,
6801 #[doc = " number of bytes per packet if constant and known or 0"]
6802 #[doc = " Used by some WAV based audio codecs."]
6803 pub block_align: ::std::os::raw::c_int,
6804 #[doc = " Audio cutoff bandwidth (0 means \"automatic\")"]
6805 #[doc = " - encoding: Set by user."]
6806 #[doc = " - decoding: unused"]
6807 pub cutoff: ::std::os::raw::c_int,
6808 #[doc = " Audio channel layout."]
6809 #[doc = " - encoding: set by user."]
6810 #[doc = " - decoding: set by user, may be overwritten by libavcodec."]
6811 pub channel_layout: u64,
6812 #[doc = " Request decoder to use this channel layout if it can (0 for default)"]
6813 #[doc = " - encoding: unused"]
6814 #[doc = " - decoding: Set by user."]
6815 pub request_channel_layout: u64,
6816 #[doc = " Type of service that the audio stream conveys."]
6817 #[doc = " - encoding: Set by user."]
6818 #[doc = " - decoding: Set by libavcodec."]
6819 pub audio_service_type: AVAudioServiceType,
6820 #[doc = " desired sample format"]
6821 #[doc = " - encoding: Not used."]
6822 #[doc = " - decoding: Set by user."]
6823 #[doc = " Decoder will decode to this format if it can."]
6824 pub request_sample_fmt: AVSampleFormat,
6825 #[doc = " This callback is called at the beginning of each frame to get data"]
6826 #[doc = " buffer(s) for it. There may be one contiguous buffer for all the data or"]
6827 #[doc = " there may be a buffer per each data plane or anything in between. What"]
6828 #[doc = " this means is, you may set however many entries in buf[] you feel necessary."]
6829 #[doc = " Each buffer must be reference-counted using the AVBuffer API (see description"]
6830 #[doc = " of buf[] below)."]
6831 #[doc = ""]
6832 #[doc = " The following fields will be set in the frame before this callback is"]
6833 #[doc = " called:"]
6834 #[doc = " - format"]
6835 #[doc = " - width, height (video only)"]
6836 #[doc = " - sample_rate, channel_layout, nb_samples (audio only)"]
6837 #[doc = " Their values may differ from the corresponding values in"]
6838 #[doc = " AVCodecContext. This callback must use the frame values, not the codec"]
6839 #[doc = " context values, to calculate the required buffer size."]
6840 #[doc = ""]
6841 #[doc = " This callback must fill the following fields in the frame:"]
6842 #[doc = " - data[]"]
6843 #[doc = " - linesize[]"]
6844 #[doc = " - extended_data:"]
6845 #[doc = " * if the data is planar audio with more than 8 channels, then this"]
6846 #[doc = " callback must allocate and fill extended_data to contain all pointers"]
6847 #[doc = " to all data planes. data[] must hold as many pointers as it can."]
6848 #[doc = " extended_data must be allocated with av_malloc() and will be freed in"]
6849 #[doc = " av_frame_unref()."]
6850 #[doc = " * otherwise extended_data must point to data"]
6851 #[doc = " - buf[] must contain one or more pointers to AVBufferRef structures. Each of"]
6852 #[doc = " the frame\'s data and extended_data pointers must be contained in these. That"]
6853 #[doc = " is, one AVBufferRef for each allocated chunk of memory, not necessarily one"]
6854 #[doc = " AVBufferRef per data[] entry. See: av_buffer_create(), av_buffer_alloc(),"]
6855 #[doc = " and av_buffer_ref()."]
6856 #[doc = " - extended_buf and nb_extended_buf must be allocated with av_malloc() by"]
6857 #[doc = " this callback and filled with the extra buffers if there are more"]
6858 #[doc = " buffers than buf[] can hold. extended_buf will be freed in"]
6859 #[doc = " av_frame_unref()."]
6860 #[doc = ""]
6861 #[doc = " If AV_CODEC_CAP_DR1 is not set then get_buffer2() must call"]
6862 #[doc = " avcodec_default_get_buffer2() instead of providing buffers allocated by"]
6863 #[doc = " some other means."]
6864 #[doc = ""]
6865 #[doc = " Each data plane must be aligned to the maximum required by the target"]
6866 #[doc = " CPU."]
6867 #[doc = ""]
6868 #[doc = " @see avcodec_default_get_buffer2()"]
6869 #[doc = ""]
6870 #[doc = " Video:"]
6871 #[doc = ""]
6872 #[doc = " If AV_GET_BUFFER_FLAG_REF is set in flags then the frame may be reused"]
6873 #[doc = " (read and/or written to if it is writable) later by libavcodec."]
6874 #[doc = ""]
6875 #[doc = " avcodec_align_dimensions2() should be used to find the required width and"]
6876 #[doc = " height, as they normally need to be rounded up to the next multiple of 16."]
6877 #[doc = ""]
6878 #[doc = " Some decoders do not support linesizes changing between frames."]
6879 #[doc = ""]
6880 #[doc = " If frame multithreading is used and thread_safe_callbacks is set,"]
6881 #[doc = " this callback may be called from a different thread, but not from more"]
6882 #[doc = " than one at once. Does not need to be reentrant."]
6883 #[doc = ""]
6884 #[doc = " @see avcodec_align_dimensions2()"]
6885 #[doc = ""]
6886 #[doc = " Audio:"]
6887 #[doc = ""]
6888 #[doc = " Decoders request a buffer of a particular size by setting"]
6889 #[doc = " AVFrame.nb_samples prior to calling get_buffer2(). The decoder may,"]
6890 #[doc = " however, utilize only part of the buffer by setting AVFrame.nb_samples"]
6891 #[doc = " to a smaller value in the output frame."]
6892 #[doc = ""]
6893 #[doc = " As a convenience, av_samples_get_buffer_size() and"]
6894 #[doc = " av_samples_fill_arrays() in libavutil may be used by custom get_buffer2()"]
6895 #[doc = " functions to find the required data size and to fill data pointers and"]
6896 #[doc = " linesize. In AVFrame.linesize, only linesize[0] may be set for audio"]
6897 #[doc = " since all planes must be the same size."]
6898 #[doc = ""]
6899 #[doc = " @see av_samples_get_buffer_size(), av_samples_fill_arrays()"]
6900 #[doc = ""]
6901 #[doc = " - encoding: unused"]
6902 #[doc = " - decoding: Set by libavcodec, user can override."]
6903 pub get_buffer2: ::std::option::Option<
6904 unsafe extern "C" fn(
6905 s: *mut AVCodecContext,
6906 frame: *mut AVFrame,
6907 flags: ::std::os::raw::c_int,
6908 ) -> ::std::os::raw::c_int,
6909 >,
6910 #[doc = " If non-zero, the decoded audio and video frames returned from"]
6911 #[doc = " avcodec_decode_video2() and avcodec_decode_audio4() are reference-counted"]
6912 #[doc = " and are valid indefinitely. The caller must free them with"]
6913 #[doc = " av_frame_unref() when they are not needed anymore."]
6914 #[doc = " Otherwise, the decoded frames must not be freed by the caller and are"]
6915 #[doc = " only valid until the next decode call."]
6916 #[doc = ""]
6917 #[doc = " This is always automatically enabled if avcodec_receive_frame() is used."]
6918 #[doc = ""]
6919 #[doc = " - encoding: unused"]
6920 #[doc = " - decoding: set by the caller before avcodec_open2()."]
6921 pub refcounted_frames: ::std::os::raw::c_int,
6922 #[doc = "< amount of qscale change between easy & hard scenes (0.0-1.0)"]
6923 pub qcompress: f32,
6924 #[doc = "< amount of qscale smoothing over time (0.0-1.0)"]
6925 pub qblur: f32,
6926 #[doc = " minimum quantizer"]
6927 #[doc = " - encoding: Set by user."]
6928 #[doc = " - decoding: unused"]
6929 pub qmin: ::std::os::raw::c_int,
6930 #[doc = " maximum quantizer"]
6931 #[doc = " - encoding: Set by user."]
6932 #[doc = " - decoding: unused"]
6933 pub qmax: ::std::os::raw::c_int,
6934 #[doc = " maximum quantizer difference between frames"]
6935 #[doc = " - encoding: Set by user."]
6936 #[doc = " - decoding: unused"]
6937 pub max_qdiff: ::std::os::raw::c_int,
6938 #[doc = " decoder bitstream buffer size"]
6939 #[doc = " - encoding: Set by user."]
6940 #[doc = " - decoding: unused"]
6941 pub rc_buffer_size: ::std::os::raw::c_int,
6942 #[doc = " ratecontrol override, see RcOverride"]
6943 #[doc = " - encoding: Allocated/set/freed by user."]
6944 #[doc = " - decoding: unused"]
6945 pub rc_override_count: ::std::os::raw::c_int,
6946 pub rc_override: *mut RcOverride,
6947 #[doc = " maximum bitrate"]
6948 #[doc = " - encoding: Set by user."]
6949 #[doc = " - decoding: Set by user, may be overwritten by libavcodec."]
6950 pub rc_max_rate: i64,
6951 #[doc = " minimum bitrate"]
6952 #[doc = " - encoding: Set by user."]
6953 #[doc = " - decoding: unused"]
6954 pub rc_min_rate: i64,
6955 #[doc = " Ratecontrol attempt to use, at maximum, <value> of what can be used without an underflow."]
6956 #[doc = " - encoding: Set by user."]
6957 #[doc = " - decoding: unused."]
6958 pub rc_max_available_vbv_use: f32,
6959 #[doc = " Ratecontrol attempt to use, at least, <value> times the amount needed to prevent a vbv overflow."]
6960 #[doc = " - encoding: Set by user."]
6961 #[doc = " - decoding: unused."]
6962 pub rc_min_vbv_overflow_use: f32,
6963 #[doc = " Number of bits which should be loaded into the rc buffer before decoding starts."]
6964 #[doc = " - encoding: Set by user."]
6965 #[doc = " - decoding: unused"]
6966 pub rc_initial_buffer_occupancy: ::std::os::raw::c_int,
6967 #[doc = " @deprecated use encoder private options instead"]
6968 pub coder_type: ::std::os::raw::c_int,
6969 #[doc = " @deprecated use encoder private options instead"]
6970 pub context_model: ::std::os::raw::c_int,
6971 #[doc = " @deprecated use encoder private options instead"]
6972 pub frame_skip_threshold: ::std::os::raw::c_int,
6973 #[doc = " @deprecated use encoder private options instead"]
6974 pub frame_skip_factor: ::std::os::raw::c_int,
6975 #[doc = " @deprecated use encoder private options instead"]
6976 pub frame_skip_exp: ::std::os::raw::c_int,
6977 #[doc = " @deprecated use encoder private options instead"]
6978 pub frame_skip_cmp: ::std::os::raw::c_int,
6979 #[doc = " trellis RD quantization"]
6980 #[doc = " - encoding: Set by user."]
6981 #[doc = " - decoding: unused"]
6982 pub trellis: ::std::os::raw::c_int,
6983 #[doc = " @deprecated use encoder private options instead"]
6984 pub min_prediction_order: ::std::os::raw::c_int,
6985 #[doc = " @deprecated use encoder private options instead"]
6986 pub max_prediction_order: ::std::os::raw::c_int,
6987 #[doc = " @deprecated use encoder private options instead"]
6988 pub timecode_frame_start: i64,
6989 #[doc = " @deprecated unused"]
6990 pub rtp_callback: ::std::option::Option<
6991 unsafe extern "C" fn(
6992 avctx: *mut AVCodecContext,
6993 data: *mut ::std::os::raw::c_void,
6994 size: ::std::os::raw::c_int,
6995 mb_nb: ::std::os::raw::c_int,
6996 ),
6997 >,
6998 #[doc = " @deprecated use encoder private options instead"]
6999 pub rtp_payload_size: ::std::os::raw::c_int,
7000 pub mv_bits: ::std::os::raw::c_int,
7001 pub header_bits: ::std::os::raw::c_int,
7002 pub i_tex_bits: ::std::os::raw::c_int,
7003 pub p_tex_bits: ::std::os::raw::c_int,
7004 pub i_count: ::std::os::raw::c_int,
7005 pub p_count: ::std::os::raw::c_int,
7006 pub skip_count: ::std::os::raw::c_int,
7007 pub misc_bits: ::std::os::raw::c_int,
7008 #[doc = " @deprecated this field is unused"]
7009 pub frame_bits: ::std::os::raw::c_int,
7010 #[doc = " pass1 encoding statistics output buffer"]
7011 #[doc = " - encoding: Set by libavcodec."]
7012 #[doc = " - decoding: unused"]
7013 pub stats_out: *mut ::std::os::raw::c_char,
7014 #[doc = " pass2 encoding statistics input buffer"]
7015 #[doc = " Concatenated stuff from stats_out of pass1 should be placed here."]
7016 #[doc = " - encoding: Allocated/set/freed by user."]
7017 #[doc = " - decoding: unused"]
7018 pub stats_in: *mut ::std::os::raw::c_char,
7019 #[doc = " Work around bugs in encoders which sometimes cannot be detected automatically."]
7020 #[doc = " - encoding: Set by user"]
7021 #[doc = " - decoding: Set by user"]
7022 pub workaround_bugs: ::std::os::raw::c_int,
7023 #[doc = " strictly follow the standard (MPEG-4, ...)."]
7024 #[doc = " - encoding: Set by user."]
7025 #[doc = " - decoding: Set by user."]
7026 #[doc = " Setting this to STRICT or higher means the encoder and decoder will"]
7027 #[doc = " generally do stupid things, whereas setting it to unofficial or lower"]
7028 #[doc = " will mean the encoder might produce output that is not supported by all"]
7029 #[doc = " spec-compliant decoders. Decoders don\'t differentiate between normal,"]
7030 #[doc = " unofficial and experimental (that is, they always try to decode things"]
7031 #[doc = " when they can) unless they are explicitly asked to behave stupidly"]
7032 #[doc = " (=strictly conform to the specs)"]
7033 pub strict_std_compliance: ::std::os::raw::c_int,
7034 #[doc = " error concealment flags"]
7035 #[doc = " - encoding: unused"]
7036 #[doc = " - decoding: Set by user."]
7037 pub error_concealment: ::std::os::raw::c_int,
7038 #[doc = " debug"]
7039 #[doc = " - encoding: Set by user."]
7040 #[doc = " - decoding: Set by user."]
7041 pub debug: ::std::os::raw::c_int,
7042 #[doc = " Error recognition; may misdetect some more or less valid parts as errors."]
7043 #[doc = " - encoding: unused"]
7044 #[doc = " - decoding: Set by user."]
7045 pub err_recognition: ::std::os::raw::c_int,
7046 #[doc = " opaque 64-bit number (generally a PTS) that will be reordered and"]
7047 #[doc = " output in AVFrame.reordered_opaque"]
7048 #[doc = " - encoding: unused"]
7049 #[doc = " - decoding: Set by user."]
7050 pub reordered_opaque: i64,
7051 #[doc = " Hardware accelerator in use"]
7052 #[doc = " - encoding: unused."]
7053 #[doc = " - decoding: Set by libavcodec"]
7054 pub hwaccel: *const AVHWAccel,
7055 #[doc = " Hardware accelerator context."]
7056 #[doc = " For some hardware accelerators, a global context needs to be"]
7057 #[doc = " provided by the user. In that case, this holds display-dependent"]
7058 #[doc = " data FFmpeg cannot instantiate itself. Please refer to the"]
7059 #[doc = " FFmpeg HW accelerator documentation to know how to fill this"]
7060 #[doc = " is. e.g. for VA API, this is a struct vaapi_context."]
7061 #[doc = " - encoding: unused"]
7062 #[doc = " - decoding: Set by user"]
7063 pub hwaccel_context: *mut ::std::os::raw::c_void,
7064 #[doc = " error"]
7065 #[doc = " - encoding: Set by libavcodec if flags & AV_CODEC_FLAG_PSNR."]
7066 #[doc = " - decoding: unused"]
7067 pub error: [u64; 8usize],
7068 #[doc = " DCT algorithm, see FF_DCT_* below"]
7069 #[doc = " - encoding: Set by user."]
7070 #[doc = " - decoding: unused"]
7071 pub dct_algo: ::std::os::raw::c_int,
7072 #[doc = " IDCT algorithm, see FF_IDCT_* below."]
7073 #[doc = " - encoding: Set by user."]
7074 #[doc = " - decoding: Set by user."]
7075 pub idct_algo: ::std::os::raw::c_int,
7076 #[doc = " bits per sample/pixel from the demuxer (needed for huffyuv)."]
7077 #[doc = " - encoding: Set by libavcodec."]
7078 #[doc = " - decoding: Set by user."]
7079 pub bits_per_coded_sample: ::std::os::raw::c_int,
7080 #[doc = " Bits per sample/pixel of internal libavcodec pixel/sample format."]
7081 #[doc = " - encoding: set by user."]
7082 #[doc = " - decoding: set by libavcodec."]
7083 pub bits_per_raw_sample: ::std::os::raw::c_int,
7084 #[doc = " low resolution decoding, 1-> 1/2 size, 2->1/4 size"]
7085 #[doc = " - encoding: unused"]
7086 #[doc = " - decoding: Set by user."]
7087 pub lowres: ::std::os::raw::c_int,
7088 #[doc = " the picture in the bitstream"]
7089 #[doc = " - encoding: Set by libavcodec."]
7090 #[doc = " - decoding: unused"]
7091 #[doc = ""]
7092 #[doc = " @deprecated use the quality factor packet side data instead"]
7093 pub coded_frame: *mut AVFrame,
7094 #[doc = " thread count"]
7095 #[doc = " is used to decide how many independent tasks should be passed to execute()"]
7096 #[doc = " - encoding: Set by user."]
7097 #[doc = " - decoding: Set by user."]
7098 pub thread_count: ::std::os::raw::c_int,
7099 #[doc = " Which multithreading methods to use."]
7100 #[doc = " Use of FF_THREAD_FRAME will increase decoding delay by one frame per thread,"]
7101 #[doc = " so clients which cannot provide future frames should not use it."]
7102 #[doc = ""]
7103 #[doc = " - encoding: Set by user, otherwise the default is used."]
7104 #[doc = " - decoding: Set by user, otherwise the default is used."]
7105 pub thread_type: ::std::os::raw::c_int,
7106 #[doc = " Which multithreading methods are in use by the codec."]
7107 #[doc = " - encoding: Set by libavcodec."]
7108 #[doc = " - decoding: Set by libavcodec."]
7109 pub active_thread_type: ::std::os::raw::c_int,
7110 #[doc = " Set by the client if its custom get_buffer() callback can be called"]
7111 #[doc = " synchronously from another thread, which allows faster multithreaded decoding."]
7112 #[doc = " draw_horiz_band() will be called from other threads regardless of this setting."]
7113 #[doc = " Ignored if the default get_buffer() is used."]
7114 #[doc = " - encoding: Set by user."]
7115 #[doc = " - decoding: Set by user."]
7116 pub thread_safe_callbacks: ::std::os::raw::c_int,
7117 #[doc = " The codec may call this to execute several independent things."]
7118 #[doc = " It will return only after finishing all tasks."]
7119 #[doc = " The user may replace this with some multithreaded implementation,"]
7120 #[doc = " the default implementation will execute the parts serially."]
7121 #[doc = " @param count the number of things to execute"]
7122 #[doc = " - encoding: Set by libavcodec, user can override."]
7123 #[doc = " - decoding: Set by libavcodec, user can override."]
7124 pub execute: ::std::option::Option<
7125 unsafe extern "C" fn(
7126 c: *mut AVCodecContext,
7127 func: ::std::option::Option<
7128 unsafe extern "C" fn(
7129 c2: *mut AVCodecContext,
7130 arg: *mut ::std::os::raw::c_void,
7131 ) -> ::std::os::raw::c_int,
7132 >,
7133 arg2: *mut ::std::os::raw::c_void,
7134 ret: *mut ::std::os::raw::c_int,
7135 count: ::std::os::raw::c_int,
7136 size: ::std::os::raw::c_int,
7137 ) -> ::std::os::raw::c_int,
7138 >,
7139 #[doc = " The codec may call this to execute several independent things."]
7140 #[doc = " It will return only after finishing all tasks."]
7141 #[doc = " The user may replace this with some multithreaded implementation,"]
7142 #[doc = " the default implementation will execute the parts serially."]
7143 #[doc = " Also see avcodec_thread_init and e.g. the --enable-pthread configure option."]
7144 #[doc = " @param c context passed also to func"]
7145 #[doc = " @param count the number of things to execute"]
7146 #[doc = " @param arg2 argument passed unchanged to func"]
7147 #[doc = " @param ret return values of executed functions, must have space for \"count\" values. May be NULL."]
7148 #[doc = " @param func function that will be called count times, with jobnr from 0 to count-1."]
7149 #[doc = " threadnr will be in the range 0 to c->thread_count-1 < MAX_THREADS and so that no"]
7150 #[doc = " two instances of func executing at the same time will have the same threadnr."]
7151 #[doc = " @return always 0 currently, but code should handle a future improvement where when any call to func"]
7152 #[doc = " returns < 0 no further calls to func may be done and < 0 is returned."]
7153 #[doc = " - encoding: Set by libavcodec, user can override."]
7154 #[doc = " - decoding: Set by libavcodec, user can override."]
7155 pub execute2: ::std::option::Option<
7156 unsafe extern "C" fn(
7157 c: *mut AVCodecContext,
7158 func: ::std::option::Option<
7159 unsafe extern "C" fn(
7160 c2: *mut AVCodecContext,
7161 arg: *mut ::std::os::raw::c_void,
7162 jobnr: ::std::os::raw::c_int,
7163 threadnr: ::std::os::raw::c_int,
7164 ) -> ::std::os::raw::c_int,
7165 >,
7166 arg2: *mut ::std::os::raw::c_void,
7167 ret: *mut ::std::os::raw::c_int,
7168 count: ::std::os::raw::c_int,
7169 ) -> ::std::os::raw::c_int,
7170 >,
7171 #[doc = " noise vs. sse weight for the nsse comparison function"]
7172 #[doc = " - encoding: Set by user."]
7173 #[doc = " - decoding: unused"]
7174 pub nsse_weight: ::std::os::raw::c_int,
7175 #[doc = " profile"]
7176 #[doc = " - encoding: Set by user."]
7177 #[doc = " - decoding: Set by libavcodec."]
7178 pub profile: ::std::os::raw::c_int,
7179 #[doc = " level"]
7180 #[doc = " - encoding: Set by user."]
7181 #[doc = " - decoding: Set by libavcodec."]
7182 pub level: ::std::os::raw::c_int,
7183 #[doc = " Skip loop filtering for selected frames."]
7184 #[doc = " - encoding: unused"]
7185 #[doc = " - decoding: Set by user."]
7186 pub skip_loop_filter: AVDiscard,
7187 #[doc = " Skip IDCT/dequantization for selected frames."]
7188 #[doc = " - encoding: unused"]
7189 #[doc = " - decoding: Set by user."]
7190 pub skip_idct: AVDiscard,
7191 #[doc = " Skip decoding for selected frames."]
7192 #[doc = " - encoding: unused"]
7193 #[doc = " - decoding: Set by user."]
7194 pub skip_frame: AVDiscard,
7195 #[doc = " Header containing style information for text subtitles."]
7196 #[doc = " For SUBTITLE_ASS subtitle type, it should contain the whole ASS"]
7197 #[doc = " [Script Info] and [V4+ Styles] section, plus the [Events] line and"]
7198 #[doc = " the Format line following. It shouldn\'t include any Dialogue line."]
7199 #[doc = " - encoding: Set/allocated/freed by user (before avcodec_open2())"]
7200 #[doc = " - decoding: Set/allocated/freed by libavcodec (by avcodec_open2())"]
7201 pub subtitle_header: *mut u8,
7202 pub subtitle_header_size: ::std::os::raw::c_int,
7203 #[doc = " VBV delay coded in the last frame (in periods of a 27 MHz clock)."]
7204 #[doc = " Used for compliant TS muxing."]
7205 #[doc = " - encoding: Set by libavcodec."]
7206 #[doc = " - decoding: unused."]
7207 #[doc = " @deprecated this value is now exported as a part of"]
7208 #[doc = " AV_PKT_DATA_CPB_PROPERTIES packet side data"]
7209 pub vbv_delay: u64,
7210 #[doc = " Encoding only and set by default. Allow encoders to output packets"]
7211 #[doc = " that do not contain any encoded data, only side data."]
7212 #[doc = ""]
7213 #[doc = " Some encoders need to output such packets, e.g. to update some stream"]
7214 #[doc = " parameters at the end of encoding."]
7215 #[doc = ""]
7216 #[doc = " @deprecated this field disables the default behaviour and"]
7217 #[doc = " it is kept only for compatibility."]
7218 pub side_data_only_packets: ::std::os::raw::c_int,
7219 #[doc = " Audio only. The number of \"priming\" samples (padding) inserted by the"]
7220 #[doc = " encoder at the beginning of the audio. I.e. this number of leading"]
7221 #[doc = " decoded samples must be discarded by the caller to get the original audio"]
7222 #[doc = " without leading padding."]
7223 #[doc = ""]
7224 #[doc = " - decoding: unused"]
7225 #[doc = " - encoding: Set by libavcodec. The timestamps on the output packets are"]
7226 #[doc = " adjusted by the encoder so that they always refer to the"]
7227 #[doc = " first sample of the data actually contained in the packet,"]
7228 #[doc = " including any added padding. E.g. if the timebase is"]
7229 #[doc = " 1/samplerate and the timestamp of the first input sample is"]
7230 #[doc = " 0, the timestamp of the first output packet will be"]
7231 #[doc = " -initial_padding."]
7232 pub initial_padding: ::std::os::raw::c_int,
7233 #[doc = " - decoding: For codecs that store a framerate value in the compressed"]
7234 #[doc = " bitstream, the decoder may export it here. { 0, 1} when"]
7235 #[doc = " unknown."]
7236 #[doc = " - encoding: May be used to signal the framerate of CFR content to an"]
7237 #[doc = " encoder."]
7238 pub framerate: AVRational,
7239 #[doc = " Nominal unaccelerated pixel format, see AV_PIX_FMT_xxx."]
7240 #[doc = " - encoding: unused."]
7241 #[doc = " - decoding: Set by libavcodec before calling get_format()"]
7242 pub sw_pix_fmt: AVPixelFormat,
7243 #[doc = " Timebase in which pkt_dts/pts and AVPacket.dts/pts are."]
7244 #[doc = " - encoding unused."]
7245 #[doc = " - decoding set by user."]
7246 pub pkt_timebase: AVRational,
7247 #[doc = " AVCodecDescriptor"]
7248 #[doc = " - encoding: unused."]
7249 #[doc = " - decoding: set by libavcodec."]
7250 pub codec_descriptor: *const AVCodecDescriptor,
7251 #[doc = " Current statistics for PTS correction."]
7252 #[doc = " - decoding: maintained and used by libavcodec, not intended to be used by user apps"]
7253 #[doc = " - encoding: unused"]
7254 pub pts_correction_num_faulty_pts: i64,
7255 #[doc = " Number of incorrect PTS values so far"]
7256 pub pts_correction_num_faulty_dts: i64,
7257 #[doc = " Number of incorrect DTS values so far"]
7258 pub pts_correction_last_pts: i64,
7259 #[doc = " PTS of the last frame"]
7260 pub pts_correction_last_dts: i64,
7261 #[doc = " Character encoding of the input subtitles file."]
7262 #[doc = " - decoding: set by user"]
7263 #[doc = " - encoding: unused"]
7264 pub sub_charenc: *mut ::std::os::raw::c_char,
7265 #[doc = " Subtitles character encoding mode. Formats or codecs might be adjusting"]
7266 #[doc = " this setting (if they are doing the conversion themselves for instance)."]
7267 #[doc = " - decoding: set by libavcodec"]
7268 #[doc = " - encoding: unused"]
7269 pub sub_charenc_mode: ::std::os::raw::c_int,
7270 #[doc = " Skip processing alpha if supported by codec."]
7271 #[doc = " Note that if the format uses pre-multiplied alpha (common with VP6,"]
7272 #[doc = " and recommended due to better video quality/compression)"]
7273 #[doc = " the image will look as if alpha-blended onto a black background."]
7274 #[doc = " However for formats that do not use pre-multiplied alpha"]
7275 #[doc = " there might be serious artefacts (though e.g. libswscale currently"]
7276 #[doc = " assumes pre-multiplied alpha anyway)."]
7277 #[doc = ""]
7278 #[doc = " - decoding: set by user"]
7279 #[doc = " - encoding: unused"]
7280 pub skip_alpha: ::std::os::raw::c_int,
7281 #[doc = " Number of samples to skip after a discontinuity"]
7282 #[doc = " - decoding: unused"]
7283 #[doc = " - encoding: set by libavcodec"]
7284 pub seek_preroll: ::std::os::raw::c_int,
7285 #[doc = " debug motion vectors"]
7286 #[doc = " - encoding: Set by user."]
7287 #[doc = " - decoding: Set by user."]
7288 pub debug_mv: ::std::os::raw::c_int,
7289 #[doc = " custom intra quantization matrix"]
7290 #[doc = " - encoding: Set by user, can be NULL."]
7291 #[doc = " - decoding: unused."]
7292 pub chroma_intra_matrix: *mut u16,
7293 #[doc = " dump format separator."]
7294 #[doc = " can be \", \" or \"\\n \" or anything else"]
7295 #[doc = " - encoding: Set by user."]
7296 #[doc = " - decoding: Set by user."]
7297 pub dump_separator: *mut u8,
7298 #[doc = " \',\' separated list of allowed decoders."]
7299 #[doc = " If NULL then all are allowed"]
7300 #[doc = " - encoding: unused"]
7301 #[doc = " - decoding: set by user"]
7302 pub codec_whitelist: *mut ::std::os::raw::c_char,
7303 #[doc = " Properties of the stream that gets decoded"]
7304 #[doc = " - encoding: unused"]
7305 #[doc = " - decoding: set by libavcodec"]
7306 pub properties: ::std::os::raw::c_uint,
7307 #[doc = " Additional data associated with the entire coded stream."]
7308 #[doc = ""]
7309 #[doc = " - decoding: unused"]
7310 #[doc = " - encoding: may be set by libavcodec after avcodec_open2()."]
7311 pub coded_side_data: *mut AVPacketSideData,
7312 pub nb_coded_side_data: ::std::os::raw::c_int,
7313 #[doc = " A reference to the AVHWFramesContext describing the input (for encoding)"]
7314 #[doc = " or output (decoding) frames. The reference is set by the caller and"]
7315 #[doc = " afterwards owned (and freed) by libavcodec - it should never be read by"]
7316 #[doc = " the caller after being set."]
7317 #[doc = ""]
7318 #[doc = " - decoding: This field should be set by the caller from the get_format()"]
7319 #[doc = " callback. The previous reference (if any) will always be"]
7320 #[doc = " unreffed by libavcodec before the get_format() call."]
7321 #[doc = ""]
7322 #[doc = " If the default get_buffer2() is used with a hwaccel pixel"]
7323 #[doc = " format, then this AVHWFramesContext will be used for"]
7324 #[doc = " allocating the frame buffers."]
7325 #[doc = ""]
7326 #[doc = " - encoding: For hardware encoders configured to use a hwaccel pixel"]
7327 #[doc = " format, this field should be set by the caller to a reference"]
7328 #[doc = " to the AVHWFramesContext describing input frames."]
7329 #[doc = " AVHWFramesContext.format must be equal to"]
7330 #[doc = " AVCodecContext.pix_fmt."]
7331 #[doc = ""]
7332 #[doc = " This field should be set before avcodec_open2() is called."]
7333 pub hw_frames_ctx: *mut AVBufferRef,
7334 #[doc = " Control the form of AVSubtitle.rects[N]->ass"]
7335 #[doc = " - decoding: set by user"]
7336 #[doc = " - encoding: unused"]
7337 pub sub_text_format: ::std::os::raw::c_int,
7338 #[doc = " Audio only. The amount of padding (in samples) appended by the encoder to"]
7339 #[doc = " the end of the audio. I.e. this number of decoded samples must be"]
7340 #[doc = " discarded by the caller from the end of the stream to get the original"]
7341 #[doc = " audio without any trailing padding."]
7342 #[doc = ""]
7343 #[doc = " - decoding: unused"]
7344 #[doc = " - encoding: unused"]
7345 pub trailing_padding: ::std::os::raw::c_int,
7346 #[doc = " The number of pixels per image to maximally accept."]
7347 #[doc = ""]
7348 #[doc = " - decoding: set by user"]
7349 #[doc = " - encoding: set by user"]
7350 pub max_pixels: i64,
7351 #[doc = " A reference to the AVHWDeviceContext describing the device which will"]
7352 #[doc = " be used by a hardware encoder/decoder. The reference is set by the"]
7353 #[doc = " caller and afterwards owned (and freed) by libavcodec."]
7354 #[doc = ""]
7355 #[doc = " This should be used if either the codec device does not require"]
7356 #[doc = " hardware frames or any that are used are to be allocated internally by"]
7357 #[doc = " libavcodec. If the user wishes to supply any of the frames used as"]
7358 #[doc = " encoder input or decoder output then hw_frames_ctx should be used"]
7359 #[doc = " instead. When hw_frames_ctx is set in get_format() for a decoder, this"]
7360 #[doc = " field will be ignored while decoding the associated stream segment, but"]
7361 #[doc = " may again be used on a following one after another get_format() call."]
7362 #[doc = ""]
7363 #[doc = " For both encoders and decoders this field should be set before"]
7364 #[doc = " avcodec_open2() is called and must not be written to thereafter."]
7365 #[doc = ""]
7366 #[doc = " Note that some decoders may require this field to be set initially in"]
7367 #[doc = " order to support hw_frames_ctx at all - in that case, all frames"]
7368 #[doc = " contexts used must be created on the same device."]
7369 pub hw_device_ctx: *mut AVBufferRef,
7370 #[doc = " Bit set of AV_HWACCEL_FLAG_* flags, which affect hardware accelerated"]
7371 #[doc = " decoding (if active)."]
7372 #[doc = " - encoding: unused"]
7373 #[doc = " - decoding: Set by user (either before avcodec_open2(), or in the"]
7374 #[doc = " AVCodecContext.get_format callback)"]
7375 pub hwaccel_flags: ::std::os::raw::c_int,
7376 #[doc = " Video decoding only. Certain video codecs support cropping, meaning that"]
7377 #[doc = " only a sub-rectangle of the decoded frame is intended for display. This"]
7378 #[doc = " option controls how cropping is handled by libavcodec."]
7379 #[doc = ""]
7380 #[doc = " When set to 1 (the default), libavcodec will apply cropping internally."]
7381 #[doc = " I.e. it will modify the output frame width/height fields and offset the"]
7382 #[doc = " data pointers (only by as much as possible while preserving alignment, or"]
7383 #[doc = " by the full amount if the AV_CODEC_FLAG_UNALIGNED flag is set) so that"]
7384 #[doc = " the frames output by the decoder refer only to the cropped area. The"]
7385 #[doc = " crop_* fields of the output frames will be zero."]
7386 #[doc = ""]
7387 #[doc = " When set to 0, the width/height fields of the output frames will be set"]
7388 #[doc = " to the coded dimensions and the crop_* fields will describe the cropping"]
7389 #[doc = " rectangle. Applying the cropping is left to the caller."]
7390 #[doc = ""]
7391 #[doc = " @warning When hardware acceleration with opaque output frames is used,"]
7392 #[doc = " libavcodec is unable to apply cropping from the top/left border."]
7393 #[doc = ""]
7394 #[doc = " @note when this option is set to zero, the width/height fields of the"]
7395 #[doc = " AVCodecContext and output AVFrames have different meanings. The codec"]
7396 #[doc = " context fields store display dimensions (with the coded dimensions in"]
7397 #[doc = " coded_width/height), while the frame fields store the coded dimensions"]
7398 #[doc = " (with the display dimensions being determined by the crop_* fields)."]
7399 pub apply_cropping: ::std::os::raw::c_int,
7400 pub extra_hw_frames: ::std::os::raw::c_int,
7401}
7402extern "C" {
7403 #[doc = " Accessors for some AVCodecContext fields. These used to be provided for ABI"]
7404 #[doc = " compatibility, and do not need to be used anymore."]
7405 pub fn av_codec_get_pkt_timebase(avctx: *const AVCodecContext) -> AVRational;
7406}
7407extern "C" {
7408 pub fn av_codec_set_pkt_timebase(avctx: *mut AVCodecContext, val: AVRational);
7409}
7410extern "C" {
7411 pub fn av_codec_get_codec_descriptor(avctx: *const AVCodecContext) -> *const AVCodecDescriptor;
7412}
7413extern "C" {
7414 pub fn av_codec_set_codec_descriptor(
7415 avctx: *mut AVCodecContext,
7416 desc: *const AVCodecDescriptor,
7417 );
7418}
7419extern "C" {
7420 pub fn av_codec_get_codec_properties(avctx: *const AVCodecContext) -> ::std::os::raw::c_uint;
7421}
7422extern "C" {
7423 pub fn av_codec_get_lowres(avctx: *const AVCodecContext) -> ::std::os::raw::c_int;
7424}
7425extern "C" {
7426 pub fn av_codec_set_lowres(avctx: *mut AVCodecContext, val: ::std::os::raw::c_int);
7427}
7428extern "C" {
7429 pub fn av_codec_get_seek_preroll(avctx: *const AVCodecContext) -> ::std::os::raw::c_int;
7430}
7431extern "C" {
7432 pub fn av_codec_set_seek_preroll(avctx: *mut AVCodecContext, val: ::std::os::raw::c_int);
7433}
7434extern "C" {
7435 pub fn av_codec_get_chroma_intra_matrix(avctx: *const AVCodecContext) -> *mut u16;
7436}
7437extern "C" {
7438 pub fn av_codec_set_chroma_intra_matrix(avctx: *mut AVCodecContext, val: *mut u16);
7439}
7440#[doc = " AVProfile."]
7441#[repr(C)]
7442#[derive(Debug, Copy, Clone)]
7443pub struct AVProfile {
7444 pub profile: ::std::os::raw::c_int,
7445 #[doc = "< short name for the profile"]
7446 pub name: *const ::std::os::raw::c_char,
7447}
7448#[doc = " The codec supports this format via the hw_device_ctx interface."]
7449#[doc = ""]
7450#[doc = " When selecting this format, AVCodecContext.hw_device_ctx should"]
7451#[doc = " have been set to a device of the specified type before calling"]
7452#[doc = " avcodec_open2()."]
7453pub const AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX: _bindgen_ty_4 = 1;
7454#[doc = " The codec supports this format via the hw_frames_ctx interface."]
7455#[doc = ""]
7456#[doc = " When selecting this format for a decoder,"]
7457#[doc = " AVCodecContext.hw_frames_ctx should be set to a suitable frames"]
7458#[doc = " context inside the get_format() callback. The frames context"]
7459#[doc = " must have been created on a device of the specified type."]
7460pub const AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX: _bindgen_ty_4 = 2;
7461#[doc = " The codec supports this format by some internal method."]
7462#[doc = ""]
7463#[doc = " This format can be selected without any additional configuration -"]
7464#[doc = " no device or frames context is required."]
7465pub const AV_CODEC_HW_CONFIG_METHOD_INTERNAL: _bindgen_ty_4 = 4;
7466#[doc = " The codec supports this format by some ad-hoc method."]
7467#[doc = ""]
7468#[doc = " Additional settings and/or function calls are required. See the"]
7469#[doc = " codec-specific documentation for details. (Methods requiring"]
7470#[doc = " this sort of configuration are deprecated and others should be"]
7471#[doc = " used in preference.)"]
7472pub const AV_CODEC_HW_CONFIG_METHOD_AD_HOC: _bindgen_ty_4 = 8;
7473pub type _bindgen_ty_4 = u32;
7474#[repr(C)]
7475#[derive(Debug, Copy, Clone)]
7476pub struct AVCodecHWConfig {
7477 #[doc = " A hardware pixel format which the codec can use."]
7478 pub pix_fmt: AVPixelFormat,
7479 #[doc = " Bit set of AV_CODEC_HW_CONFIG_METHOD_* flags, describing the possible"]
7480 #[doc = " setup methods which can be used with this configuration."]
7481 pub methods: ::std::os::raw::c_int,
7482 #[doc = " The device type associated with the configuration."]
7483 #[doc = ""]
7484 #[doc = " Must be set for AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX and"]
7485 #[doc = " AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX, otherwise unused."]
7486 pub device_type: AVHWDeviceType,
7487}
7488#[repr(C)]
7489#[derive(Debug, Copy, Clone)]
7490pub struct AVCodecDefault {
7491 _unused: [u8; 0],
7492}
7493#[doc = " AVCodec."]
7494#[repr(C)]
7495#[derive(Debug, Copy, Clone)]
7496pub struct AVCodec {
7497 #[doc = " Name of the codec implementation."]
7498 #[doc = " The name is globally unique among encoders and among decoders (but an"]
7499 #[doc = " encoder and a decoder can share the same name)."]
7500 #[doc = " This is the primary way to find a codec from the user perspective."]
7501 pub name: *const ::std::os::raw::c_char,
7502 #[doc = " Descriptive name for the codec, meant to be more human readable than name."]
7503 #[doc = " You should use the NULL_IF_CONFIG_SMALL() macro to define it."]
7504 pub long_name: *const ::std::os::raw::c_char,
7505 pub type_: AVMediaType,
7506 pub id: AVCodecID,
7507 #[doc = " Codec capabilities."]
7508 #[doc = " see AV_CODEC_CAP_*"]
7509 pub capabilities: ::std::os::raw::c_int,
7510 #[doc = "< array of supported framerates, or NULL if any, array is terminated by {0,0}"]
7511 pub supported_framerates: *const AVRational,
7512 #[doc = "< array of supported pixel formats, or NULL if unknown, array is terminated by -1"]
7513 pub pix_fmts: *const AVPixelFormat,
7514 #[doc = "< array of supported audio samplerates, or NULL if unknown, array is terminated by 0"]
7515 pub supported_samplerates: *const ::std::os::raw::c_int,
7516 #[doc = "< array of supported sample formats, or NULL if unknown, array is terminated by -1"]
7517 pub sample_fmts: *const AVSampleFormat,
7518 #[doc = "< array of support channel layouts, or NULL if unknown. array is terminated by 0"]
7519 pub channel_layouts: *const u64,
7520 #[doc = "< maximum value for lowres supported by the decoder"]
7521 pub max_lowres: u8,
7522 #[doc = "< AVClass for the private context"]
7523 pub priv_class: *const AVClass,
7524 #[doc = "< array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN}"]
7525 pub profiles: *const AVProfile,
7526 #[doc = " Group name of the codec implementation."]
7527 #[doc = " This is a short symbolic name of the wrapper backing this codec. A"]
7528 #[doc = " wrapper uses some kind of external implementation for the codec, such"]
7529 #[doc = " as an external library, or a codec implementation provided by the OS or"]
7530 #[doc = " the hardware."]
7531 #[doc = " If this field is NULL, this is a builtin, libavcodec native codec."]
7532 #[doc = " If non-NULL, this will be the suffix in AVCodec.name in most cases"]
7533 #[doc = " (usually AVCodec.name will be of the form \"<codec_name>_<wrapper_name>\")."]
7534 pub wrapper_name: *const ::std::os::raw::c_char,
7535 #[doc = " No fields below this line are part of the public API. They"]
7536 #[doc = " may not be used outside of libavcodec and can be changed and"]
7537 #[doc = " removed at will."]
7538 #[doc = " New public fields should be added right above."]
7539 #[doc = ""]
7540 pub priv_data_size: ::std::os::raw::c_int,
7541 pub next: *mut AVCodec,
7542 #[doc = " @name Frame-level threading support functions"]
7543 #[doc = " @{"]
7544 #[doc = " If defined, called on thread contexts when they are created."]
7545 #[doc = " If the codec allocates writable tables in init(), re-allocate them here."]
7546 #[doc = " priv_data will be set to a copy of the original."]
7547 pub init_thread_copy: ::std::option::Option<
7548 unsafe extern "C" fn(arg1: *mut AVCodecContext) -> ::std::os::raw::c_int,
7549 >,
7550 #[doc = " Copy necessary context variables from a previous thread context to the current one."]
7551 #[doc = " If not defined, the next thread will start automatically; otherwise, the codec"]
7552 #[doc = " must call ff_thread_finish_setup()."]
7553 #[doc = ""]
7554 #[doc = " dst and src will (rarely) point to the same context, in which case memcpy should be skipped."]
7555 pub update_thread_context: ::std::option::Option<
7556 unsafe extern "C" fn(
7557 dst: *mut AVCodecContext,
7558 src: *const AVCodecContext,
7559 ) -> ::std::os::raw::c_int,
7560 >,
7561 #[doc = " Private codec-specific defaults."]
7562 pub defaults: *const AVCodecDefault,
7563 #[doc = " Initialize codec static data, called from avcodec_register()."]
7564 #[doc = ""]
7565 #[doc = " This is not intended for time consuming operations as it is"]
7566 #[doc = " run for every codec regardless of that codec being used."]
7567 pub init_static_data: ::std::option::Option<unsafe extern "C" fn(codec: *mut AVCodec)>,
7568 pub init: ::std::option::Option<
7569 unsafe extern "C" fn(arg1: *mut AVCodecContext) -> ::std::os::raw::c_int,
7570 >,
7571 pub encode_sub: ::std::option::Option<
7572 unsafe extern "C" fn(
7573 arg1: *mut AVCodecContext,
7574 buf: *mut u8,
7575 buf_size: ::std::os::raw::c_int,
7576 sub: *const AVSubtitle,
7577 ) -> ::std::os::raw::c_int,
7578 >,
7579 #[doc = " Encode data to an AVPacket."]
7580 #[doc = ""]
7581 #[doc = " @param avctx codec context"]
7582 #[doc = " @param avpkt output AVPacket (may contain a user-provided buffer)"]
7583 #[doc = " @param[in] frame AVFrame containing the raw data to be encoded"]
7584 #[doc = " @param[out] got_packet_ptr encoder sets to 0 or 1 to indicate that a"]
7585 #[doc = " non-empty packet was returned in avpkt."]
7586 #[doc = " @return 0 on success, negative error code on failure"]
7587 pub encode2: ::std::option::Option<
7588 unsafe extern "C" fn(
7589 avctx: *mut AVCodecContext,
7590 avpkt: *mut AVPacket,
7591 frame: *const AVFrame,
7592 got_packet_ptr: *mut ::std::os::raw::c_int,
7593 ) -> ::std::os::raw::c_int,
7594 >,
7595 pub decode: ::std::option::Option<
7596 unsafe extern "C" fn(
7597 arg1: *mut AVCodecContext,
7598 outdata: *mut ::std::os::raw::c_void,
7599 outdata_size: *mut ::std::os::raw::c_int,
7600 avpkt: *mut AVPacket,
7601 ) -> ::std::os::raw::c_int,
7602 >,
7603 pub close: ::std::option::Option<
7604 unsafe extern "C" fn(arg1: *mut AVCodecContext) -> ::std::os::raw::c_int,
7605 >,
7606 #[doc = " Encode API with decoupled packet/frame dataflow. The API is the"]
7607 #[doc = " same as the avcodec_ prefixed APIs (avcodec_send_frame() etc.), except"]
7608 #[doc = " that:"]
7609 #[doc = " - never called if the codec is closed or the wrong type,"]
7610 #[doc = " - if AV_CODEC_CAP_DELAY is not set, drain frames are never sent,"]
7611 #[doc = " - only one drain frame is ever passed down,"]
7612 pub send_frame: ::std::option::Option<
7613 unsafe extern "C" fn(
7614 avctx: *mut AVCodecContext,
7615 frame: *const AVFrame,
7616 ) -> ::std::os::raw::c_int,
7617 >,
7618 pub receive_packet: ::std::option::Option<
7619 unsafe extern "C" fn(
7620 avctx: *mut AVCodecContext,
7621 avpkt: *mut AVPacket,
7622 ) -> ::std::os::raw::c_int,
7623 >,
7624 #[doc = " Decode API with decoupled packet/frame dataflow. This function is called"]
7625 #[doc = " to get one output frame. It should call ff_decode_get_packet() to obtain"]
7626 #[doc = " input data."]
7627 pub receive_frame: ::std::option::Option<
7628 unsafe extern "C" fn(
7629 avctx: *mut AVCodecContext,
7630 frame: *mut AVFrame,
7631 ) -> ::std::os::raw::c_int,
7632 >,
7633 #[doc = " Flush buffers."]
7634 #[doc = " Will be called when seeking"]
7635 pub flush: ::std::option::Option<unsafe extern "C" fn(arg1: *mut AVCodecContext)>,
7636 #[doc = " Internal codec capabilities."]
7637 #[doc = " See FF_CODEC_CAP_* in internal.h"]
7638 pub caps_internal: ::std::os::raw::c_int,
7639 #[doc = " Decoding only, a comma-separated list of bitstream filters to apply to"]
7640 #[doc = " packets before decoding."]
7641 pub bsfs: *const ::std::os::raw::c_char,
7642 #[doc = " Array of pointers to hardware configurations supported by the codec,"]
7643 #[doc = " or NULL if no hardware supported. The array is terminated by a NULL"]
7644 #[doc = " pointer."]
7645 #[doc = ""]
7646 #[doc = " The user can only access this field via avcodec_get_hw_config()."]
7647 pub hw_configs: *mut *mut AVCodecHWConfigInternal,
7648}
7649extern "C" {
7650 pub fn av_codec_get_max_lowres(codec: *const AVCodec) -> ::std::os::raw::c_int;
7651}
7652#[repr(C)]
7653#[derive(Debug, Copy, Clone)]
7654pub struct MpegEncContext {
7655 _unused: [u8; 0],
7656}
7657extern "C" {
7658 #[doc = " Retrieve supported hardware configurations for a codec."]
7659 #[doc = ""]
7660 #[doc = " Values of index from zero to some maximum return the indexed configuration"]
7661 #[doc = " descriptor; all other values return NULL. If the codec does not support"]
7662 #[doc = " any hardware configurations then it will always return NULL."]
7663 pub fn avcodec_get_hw_config(
7664 codec: *const AVCodec,
7665 index: ::std::os::raw::c_int,
7666 ) -> *const AVCodecHWConfig;
7667}
7668#[doc = " @defgroup lavc_hwaccel AVHWAccel"]
7669#[doc = ""]
7670#[doc = " @note Nothing in this structure should be accessed by the user. At some"]
7671#[doc = " point in future it will not be externally visible at all."]
7672#[doc = ""]
7673#[doc = " @{"]
7674#[repr(C)]
7675#[derive(Debug, Copy, Clone)]
7676pub struct AVHWAccel {
7677 #[doc = " Name of the hardware accelerated codec."]
7678 #[doc = " The name is globally unique among encoders and among decoders (but an"]
7679 #[doc = " encoder and a decoder can share the same name)."]
7680 pub name: *const ::std::os::raw::c_char,
7681 #[doc = " Type of codec implemented by the hardware accelerator."]
7682 #[doc = ""]
7683 #[doc = " See AVMEDIA_TYPE_xxx"]
7684 pub type_: AVMediaType,
7685 #[doc = " Codec implemented by the hardware accelerator."]
7686 #[doc = ""]
7687 #[doc = " See AV_CODEC_ID_xxx"]
7688 pub id: AVCodecID,
7689 #[doc = " Supported pixel format."]
7690 #[doc = ""]
7691 #[doc = " Only hardware accelerated formats are supported here."]
7692 pub pix_fmt: AVPixelFormat,
7693 #[doc = " Hardware accelerated codec capabilities."]
7694 #[doc = " see AV_HWACCEL_CODEC_CAP_*"]
7695 pub capabilities: ::std::os::raw::c_int,
7696 #[doc = " Allocate a custom buffer"]
7697 pub alloc_frame: ::std::option::Option<
7698 unsafe extern "C" fn(
7699 avctx: *mut AVCodecContext,
7700 frame: *mut AVFrame,
7701 ) -> ::std::os::raw::c_int,
7702 >,
7703 #[doc = " Called at the beginning of each frame or field picture."]
7704 #[doc = ""]
7705 #[doc = " Meaningful frame information (codec specific) is guaranteed to"]
7706 #[doc = " be parsed at this point. This function is mandatory."]
7707 #[doc = ""]
7708 #[doc = " Note that buf can be NULL along with buf_size set to 0."]
7709 #[doc = " Otherwise, this means the whole frame is available at this point."]
7710 #[doc = ""]
7711 #[doc = " @param avctx the codec context"]
7712 #[doc = " @param buf the frame data buffer base"]
7713 #[doc = " @param buf_size the size of the frame in bytes"]
7714 #[doc = " @return zero if successful, a negative value otherwise"]
7715 pub start_frame: ::std::option::Option<
7716 unsafe extern "C" fn(
7717 avctx: *mut AVCodecContext,
7718 buf: *const u8,
7719 buf_size: u32,
7720 ) -> ::std::os::raw::c_int,
7721 >,
7722 #[doc = " Callback for parameter data (SPS/PPS/VPS etc)."]
7723 #[doc = ""]
7724 #[doc = " Useful for hardware decoders which keep persistent state about the"]
7725 #[doc = " video parameters, and need to receive any changes to update that state."]
7726 #[doc = ""]
7727 #[doc = " @param avctx the codec context"]
7728 #[doc = " @param type the nal unit type"]
7729 #[doc = " @param buf the nal unit data buffer"]
7730 #[doc = " @param buf_size the size of the nal unit in bytes"]
7731 #[doc = " @return zero if successful, a negative value otherwise"]
7732 pub decode_params: ::std::option::Option<
7733 unsafe extern "C" fn(
7734 avctx: *mut AVCodecContext,
7735 type_: ::std::os::raw::c_int,
7736 buf: *const u8,
7737 buf_size: u32,
7738 ) -> ::std::os::raw::c_int,
7739 >,
7740 #[doc = " Callback for each slice."]
7741 #[doc = ""]
7742 #[doc = " Meaningful slice information (codec specific) is guaranteed to"]
7743 #[doc = " be parsed at this point. This function is mandatory."]
7744 #[doc = " The only exception is XvMC, that works on MB level."]
7745 #[doc = ""]
7746 #[doc = " @param avctx the codec context"]
7747 #[doc = " @param buf the slice data buffer base"]
7748 #[doc = " @param buf_size the size of the slice in bytes"]
7749 #[doc = " @return zero if successful, a negative value otherwise"]
7750 pub decode_slice: ::std::option::Option<
7751 unsafe extern "C" fn(
7752 avctx: *mut AVCodecContext,
7753 buf: *const u8,
7754 buf_size: u32,
7755 ) -> ::std::os::raw::c_int,
7756 >,
7757 #[doc = " Called at the end of each frame or field picture."]
7758 #[doc = ""]
7759 #[doc = " The whole picture is parsed at this point and can now be sent"]
7760 #[doc = " to the hardware accelerator. This function is mandatory."]
7761 #[doc = ""]
7762 #[doc = " @param avctx the codec context"]
7763 #[doc = " @return zero if successful, a negative value otherwise"]
7764 pub end_frame: ::std::option::Option<
7765 unsafe extern "C" fn(avctx: *mut AVCodecContext) -> ::std::os::raw::c_int,
7766 >,
7767 #[doc = " Size of per-frame hardware accelerator private data."]
7768 #[doc = ""]
7769 #[doc = " Private data is allocated with av_mallocz() before"]
7770 #[doc = " AVCodecContext.get_buffer() and deallocated after"]
7771 #[doc = " AVCodecContext.release_buffer()."]
7772 pub frame_priv_data_size: ::std::os::raw::c_int,
7773 #[doc = " Called for every Macroblock in a slice."]
7774 #[doc = ""]
7775 #[doc = " XvMC uses it to replace the ff_mpv_reconstruct_mb()."]
7776 #[doc = " Instead of decoding to raw picture, MB parameters are"]
7777 #[doc = " stored in an array provided by the video driver."]
7778 #[doc = ""]
7779 #[doc = " @param s the mpeg context"]
7780 pub decode_mb: ::std::option::Option<unsafe extern "C" fn(s: *mut MpegEncContext)>,
7781 #[doc = " Initialize the hwaccel private data."]
7782 #[doc = ""]
7783 #[doc = " This will be called from ff_get_format(), after hwaccel and"]
7784 #[doc = " hwaccel_context are set and the hwaccel private data in AVCodecInternal"]
7785 #[doc = " is allocated."]
7786 pub init: ::std::option::Option<
7787 unsafe extern "C" fn(avctx: *mut AVCodecContext) -> ::std::os::raw::c_int,
7788 >,
7789 #[doc = " Uninitialize the hwaccel private data."]
7790 #[doc = ""]
7791 #[doc = " This will be called from get_format() or avcodec_close(), after hwaccel"]
7792 #[doc = " and hwaccel_context are already uninitialized."]
7793 pub uninit: ::std::option::Option<
7794 unsafe extern "C" fn(avctx: *mut AVCodecContext) -> ::std::os::raw::c_int,
7795 >,
7796 #[doc = " Size of the private data to allocate in"]
7797 #[doc = " AVCodecInternal.hwaccel_priv_data."]
7798 pub priv_data_size: ::std::os::raw::c_int,
7799 #[doc = " Internal hwaccel capabilities."]
7800 pub caps_internal: ::std::os::raw::c_int,
7801 #[doc = " Fill the given hw_frames context with current codec parameters. Called"]
7802 #[doc = " from get_format. Refer to avcodec_get_hw_frames_parameters() for"]
7803 #[doc = " details."]
7804 #[doc = ""]
7805 #[doc = " This CAN be called before AVHWAccel.init is called, and you must assume"]
7806 #[doc = " that avctx->hwaccel_priv_data is invalid."]
7807 pub frame_params: ::std::option::Option<
7808 unsafe extern "C" fn(
7809 avctx: *mut AVCodecContext,
7810 hw_frames_ctx: *mut AVBufferRef,
7811 ) -> ::std::os::raw::c_int,
7812 >,
7813}
7814#[doc = " Picture data structure."]
7815#[doc = ""]
7816#[doc = " Up to four components can be stored into it, the last component is"]
7817#[doc = " alpha."]
7818#[doc = " @deprecated use AVFrame or imgutils functions instead"]
7819#[repr(C)]
7820#[derive(Debug, Copy, Clone)]
7821pub struct AVPicture {
7822 #[doc = "< pointers to the image data planes"]
7823 pub data: [*mut u8; 8usize],
7824 #[doc = "< number of bytes per line"]
7825 pub linesize: [::std::os::raw::c_int; 8usize],
7826}
7827pub const AVSubtitleType_SUBTITLE_NONE: AVSubtitleType = 0;
7828#[doc = "< A bitmap, pict will be set"]
7829pub const AVSubtitleType_SUBTITLE_BITMAP: AVSubtitleType = 1;
7830#[doc = " Plain text, the text field must be set by the decoder and is"]
7831#[doc = " authoritative. ass and pict fields may contain approximations."]
7832pub const AVSubtitleType_SUBTITLE_TEXT: AVSubtitleType = 2;
7833#[doc = " Formatted text, the ass field must be set by the decoder and is"]
7834#[doc = " authoritative. pict and text fields may contain approximations."]
7835pub const AVSubtitleType_SUBTITLE_ASS: AVSubtitleType = 3;
7836pub type AVSubtitleType = u32;
7837#[repr(C)]
7838#[derive(Debug, Copy, Clone)]
7839pub struct AVSubtitleRect {
7840 #[doc = "< top left corner of pict, undefined when pict is not set"]
7841 pub x: ::std::os::raw::c_int,
7842 #[doc = "< top left corner of pict, undefined when pict is not set"]
7843 pub y: ::std::os::raw::c_int,
7844 #[doc = "< width of pict, undefined when pict is not set"]
7845 pub w: ::std::os::raw::c_int,
7846 #[doc = "< height of pict, undefined when pict is not set"]
7847 pub h: ::std::os::raw::c_int,
7848 #[doc = "< number of colors in pict, undefined when pict is not set"]
7849 pub nb_colors: ::std::os::raw::c_int,
7850 #[doc = " @deprecated unused"]
7851 pub pict: AVPicture,
7852 #[doc = " data+linesize for the bitmap of this subtitle."]
7853 #[doc = " Can be set for text/ass as well once they are rendered."]
7854 pub data: [*mut u8; 4usize],
7855 pub linesize: [::std::os::raw::c_int; 4usize],
7856 pub type_: AVSubtitleType,
7857 #[doc = "< 0 terminated plain UTF-8 text"]
7858 pub text: *mut ::std::os::raw::c_char,
7859 #[doc = " 0 terminated ASS/SSA compatible event line."]
7860 #[doc = " The presentation of this is unaffected by the other values in this"]
7861 #[doc = " struct."]
7862 pub ass: *mut ::std::os::raw::c_char,
7863 pub flags: ::std::os::raw::c_int,
7864}
7865#[repr(C)]
7866#[derive(Debug, Copy, Clone)]
7867pub struct AVSubtitle {
7868 pub format: u16,
7869 pub start_display_time: u32,
7870 pub end_display_time: u32,
7871 pub num_rects: ::std::os::raw::c_uint,
7872 pub rects: *mut *mut AVSubtitleRect,
7873 #[doc = "< Same as packet pts, in AV_TIME_BASE"]
7874 pub pts: i64,
7875}
7876#[doc = " This struct describes the properties of an encoded stream."]
7877#[doc = ""]
7878#[doc = " sizeof(AVCodecParameters) is not a part of the public ABI, this struct must"]
7879#[doc = " be allocated with avcodec_parameters_alloc() and freed with"]
7880#[doc = " avcodec_parameters_free()."]
7881#[repr(C)]
7882#[derive(Debug, Copy, Clone)]
7883pub struct AVCodecParameters {
7884 #[doc = " General type of the encoded data."]
7885 pub codec_type: AVMediaType,
7886 #[doc = " Specific type of the encoded data (the codec used)."]
7887 pub codec_id: AVCodecID,
7888 #[doc = " Additional information about the codec (corresponds to the AVI FOURCC)."]
7889 pub codec_tag: u32,
7890 #[doc = " Extra binary data needed for initializing the decoder, codec-dependent."]
7891 #[doc = ""]
7892 #[doc = " Must be allocated with av_malloc() and will be freed by"]
7893 #[doc = " avcodec_parameters_free(). The allocated size of extradata must be at"]
7894 #[doc = " least extradata_size + AV_INPUT_BUFFER_PADDING_SIZE, with the padding"]
7895 #[doc = " bytes zeroed."]
7896 pub extradata: *mut u8,
7897 #[doc = " Size of the extradata content in bytes."]
7898 pub extradata_size: ::std::os::raw::c_int,
7899 #[doc = " - video: the pixel format, the value corresponds to enum AVPixelFormat."]
7900 #[doc = " - audio: the sample format, the value corresponds to enum AVSampleFormat."]
7901 pub format: ::std::os::raw::c_int,
7902 #[doc = " The average bitrate of the encoded data (in bits per second)."]
7903 pub bit_rate: i64,
7904 #[doc = " The number of bits per sample in the codedwords."]
7905 #[doc = ""]
7906 #[doc = " This is basically the bitrate per sample. It is mandatory for a bunch of"]
7907 #[doc = " formats to actually decode them. It\'s the number of bits for one sample in"]
7908 #[doc = " the actual coded bitstream."]
7909 #[doc = ""]
7910 #[doc = " This could be for example 4 for ADPCM"]
7911 #[doc = " For PCM formats this matches bits_per_raw_sample"]
7912 #[doc = " Can be 0"]
7913 pub bits_per_coded_sample: ::std::os::raw::c_int,
7914 #[doc = " This is the number of valid bits in each output sample. If the"]
7915 #[doc = " sample format has more bits, the least significant bits are additional"]
7916 #[doc = " padding bits, which are always 0. Use right shifts to reduce the sample"]
7917 #[doc = " to its actual size. For example, audio formats with 24 bit samples will"]
7918 #[doc = " have bits_per_raw_sample set to 24, and format set to AV_SAMPLE_FMT_S32."]
7919 #[doc = " To get the original sample use \"(int32_t)sample >> 8\".\""]
7920 #[doc = ""]
7921 #[doc = " For ADPCM this might be 12 or 16 or similar"]
7922 #[doc = " Can be 0"]
7923 pub bits_per_raw_sample: ::std::os::raw::c_int,
7924 #[doc = " Codec-specific bitstream restrictions that the stream conforms to."]
7925 pub profile: ::std::os::raw::c_int,
7926 pub level: ::std::os::raw::c_int,
7927 #[doc = " Video only. The dimensions of the video frame in pixels."]
7928 pub width: ::std::os::raw::c_int,
7929 pub height: ::std::os::raw::c_int,
7930 #[doc = " Video only. The aspect ratio (width / height) which a single pixel"]
7931 #[doc = " should have when displayed."]
7932 #[doc = ""]
7933 #[doc = " When the aspect ratio is unknown / undefined, the numerator should be"]
7934 #[doc = " set to 0 (the denominator may have any value)."]
7935 pub sample_aspect_ratio: AVRational,
7936 #[doc = " Video only. The order of the fields in interlaced video."]
7937 pub field_order: AVFieldOrder,
7938 #[doc = " Video only. Additional colorspace characteristics."]
7939 pub color_range: AVColorRange,
7940 pub color_primaries: AVColorPrimaries,
7941 pub color_trc: AVColorTransferCharacteristic,
7942 pub color_space: AVColorSpace,
7943 pub chroma_location: AVChromaLocation,
7944 #[doc = " Video only. Number of delayed frames."]
7945 pub video_delay: ::std::os::raw::c_int,
7946 #[doc = " Audio only. The channel layout bitmask. May be 0 if the channel layout is"]
7947 #[doc = " unknown or unspecified, otherwise the number of bits set must be equal to"]
7948 #[doc = " the channels field."]
7949 pub channel_layout: u64,
7950 #[doc = " Audio only. The number of audio channels."]
7951 pub channels: ::std::os::raw::c_int,
7952 #[doc = " Audio only. The number of audio samples per second."]
7953 pub sample_rate: ::std::os::raw::c_int,
7954 #[doc = " Audio only. The number of bytes per coded audio frame, required by some"]
7955 #[doc = " formats."]
7956 #[doc = ""]
7957 #[doc = " Corresponds to nBlockAlign in WAVEFORMATEX."]
7958 pub block_align: ::std::os::raw::c_int,
7959 #[doc = " Audio only. Audio frame size, if known. Required by some formats to be static."]
7960 pub frame_size: ::std::os::raw::c_int,
7961 #[doc = " Audio only. The amount of padding (in samples) inserted by the encoder at"]
7962 #[doc = " the beginning of the audio. I.e. this number of leading decoded samples"]
7963 #[doc = " must be discarded by the caller to get the original audio without leading"]
7964 #[doc = " padding."]
7965 pub initial_padding: ::std::os::raw::c_int,
7966 #[doc = " Audio only. The amount of padding (in samples) appended by the encoder to"]
7967 #[doc = " the end of the audio. I.e. this number of decoded samples must be"]
7968 #[doc = " discarded by the caller from the end of the stream to get the original"]
7969 #[doc = " audio without any trailing padding."]
7970 pub trailing_padding: ::std::os::raw::c_int,
7971 #[doc = " Audio only. Number of samples to skip after a discontinuity."]
7972 pub seek_preroll: ::std::os::raw::c_int,
7973}
7974extern "C" {
7975 #[doc = " Iterate over all registered codecs."]
7976 #[doc = ""]
7977 #[doc = " @param opaque a pointer where libavcodec will store the iteration state. Must"]
7978 #[doc = " point to NULL to start the iteration."]
7979 #[doc = ""]
7980 #[doc = " @return the next registered codec or NULL when the iteration is"]
7981 #[doc = " finished"]
7982 pub fn av_codec_iterate(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVCodec;
7983}
7984extern "C" {
7985 #[doc = " If c is NULL, returns the first registered codec,"]
7986 #[doc = " if c is non-NULL, returns the next registered codec after c,"]
7987 #[doc = " or NULL if c is the last one."]
7988 pub fn av_codec_next(c: *const AVCodec) -> *mut AVCodec;
7989}
7990extern "C" {
7991 #[doc = " Return the LIBAVCODEC_VERSION_INT constant."]
7992 pub fn avcodec_version() -> ::std::os::raw::c_uint;
7993}
7994extern "C" {
7995 #[doc = " Return the libavcodec build-time configuration."]
7996 pub fn avcodec_configuration() -> *const ::std::os::raw::c_char;
7997}
7998extern "C" {
7999 #[doc = " Return the libavcodec license."]
8000 pub fn avcodec_license() -> *const ::std::os::raw::c_char;
8001}
8002extern "C" {
8003 #[doc = " Register the codec codec and initialize libavcodec."]
8004 #[doc = ""]
8005 #[doc = " @warning either this function or avcodec_register_all() must be called"]
8006 #[doc = " before any other libavcodec functions."]
8007 #[doc = ""]
8008 #[doc = " @see avcodec_register_all()"]
8009 pub fn avcodec_register(codec: *mut AVCodec);
8010}
8011extern "C" {
8012 #[doc = " Register all the codecs, parsers and bitstream filters which were enabled at"]
8013 #[doc = " configuration time. If you do not call this function you can select exactly"]
8014 #[doc = " which formats you want to support, by using the individual registration"]
8015 #[doc = " functions."]
8016 #[doc = ""]
8017 #[doc = " @see avcodec_register"]
8018 #[doc = " @see av_register_codec_parser"]
8019 #[doc = " @see av_register_bitstream_filter"]
8020 pub fn avcodec_register_all();
8021}
8022extern "C" {
8023 #[doc = " Allocate an AVCodecContext and set its fields to default values. The"]
8024 #[doc = " resulting struct should be freed with avcodec_free_context()."]
8025 #[doc = ""]
8026 #[doc = " @param codec if non-NULL, allocate private data and initialize defaults"]
8027 #[doc = " for the given codec. It is illegal to then call avcodec_open2()"]
8028 #[doc = " with a different codec."]
8029 #[doc = " If NULL, then the codec-specific defaults won\'t be initialized,"]
8030 #[doc = " which may result in suboptimal default settings (this is"]
8031 #[doc = " important mainly for encoders, e.g. libx264)."]
8032 #[doc = ""]
8033 #[doc = " @return An AVCodecContext filled with default values or NULL on failure."]
8034 pub fn avcodec_alloc_context3(codec: *const AVCodec) -> *mut AVCodecContext;
8035}
8036extern "C" {
8037 #[doc = " Free the codec context and everything associated with it and write NULL to"]
8038 #[doc = " the provided pointer."]
8039 pub fn avcodec_free_context(avctx: *mut *mut AVCodecContext);
8040}
8041extern "C" {
8042 #[doc = " @deprecated This function should not be used, as closing and opening a codec"]
8043 #[doc = " context multiple time is not supported. A new codec context should be"]
8044 #[doc = " allocated for each new use."]
8045 pub fn avcodec_get_context_defaults3(
8046 s: *mut AVCodecContext,
8047 codec: *const AVCodec,
8048 ) -> ::std::os::raw::c_int;
8049}
8050extern "C" {
8051 #[doc = " Get the AVClass for AVCodecContext. It can be used in combination with"]
8052 #[doc = " AV_OPT_SEARCH_FAKE_OBJ for examining options."]
8053 #[doc = ""]
8054 #[doc = " @see av_opt_find()."]
8055 pub fn avcodec_get_class() -> *const AVClass;
8056}
8057extern "C" {
8058 #[doc = " Get the AVClass for AVFrame. It can be used in combination with"]
8059 #[doc = " AV_OPT_SEARCH_FAKE_OBJ for examining options."]
8060 #[doc = ""]
8061 #[doc = " @see av_opt_find()."]
8062 pub fn avcodec_get_frame_class() -> *const AVClass;
8063}
8064extern "C" {
8065 #[doc = " Get the AVClass for AVSubtitleRect. It can be used in combination with"]
8066 #[doc = " AV_OPT_SEARCH_FAKE_OBJ for examining options."]
8067 #[doc = ""]
8068 #[doc = " @see av_opt_find()."]
8069 pub fn avcodec_get_subtitle_rect_class() -> *const AVClass;
8070}
8071extern "C" {
8072 #[doc = " Copy the settings of the source AVCodecContext into the destination"]
8073 #[doc = " AVCodecContext. The resulting destination codec context will be"]
8074 #[doc = " unopened, i.e. you are required to call avcodec_open2() before you"]
8075 #[doc = " can use this AVCodecContext to decode/encode video/audio data."]
8076 #[doc = ""]
8077 #[doc = " @param dest target codec context, should be initialized with"]
8078 #[doc = " avcodec_alloc_context3(NULL), but otherwise uninitialized"]
8079 #[doc = " @param src source codec context"]
8080 #[doc = " @return AVERROR() on error (e.g. memory allocation error), 0 on success"]
8081 #[doc = ""]
8082 #[doc = " @deprecated The semantics of this function are ill-defined and it should not"]
8083 #[doc = " be used. If you need to transfer the stream parameters from one codec context"]
8084 #[doc = " to another, use an intermediate AVCodecParameters instance and the"]
8085 #[doc = " avcodec_parameters_from_context() / avcodec_parameters_to_context()"]
8086 #[doc = " functions."]
8087 pub fn avcodec_copy_context(
8088 dest: *mut AVCodecContext,
8089 src: *const AVCodecContext,
8090 ) -> ::std::os::raw::c_int;
8091}
8092extern "C" {
8093 #[doc = " Allocate a new AVCodecParameters and set its fields to default values"]
8094 #[doc = " (unknown/invalid/0). The returned struct must be freed with"]
8095 #[doc = " avcodec_parameters_free()."]
8096 pub fn avcodec_parameters_alloc() -> *mut AVCodecParameters;
8097}
8098extern "C" {
8099 #[doc = " Free an AVCodecParameters instance and everything associated with it and"]
8100 #[doc = " write NULL to the supplied pointer."]
8101 pub fn avcodec_parameters_free(par: *mut *mut AVCodecParameters);
8102}
8103extern "C" {
8104 #[doc = " Copy the contents of src to dst. Any allocated fields in dst are freed and"]
8105 #[doc = " replaced with newly allocated duplicates of the corresponding fields in src."]
8106 #[doc = ""]
8107 #[doc = " @return >= 0 on success, a negative AVERROR code on failure."]
8108 pub fn avcodec_parameters_copy(
8109 dst: *mut AVCodecParameters,
8110 src: *const AVCodecParameters,
8111 ) -> ::std::os::raw::c_int;
8112}
8113extern "C" {
8114 #[doc = " Fill the parameters struct based on the values from the supplied codec"]
8115 #[doc = " context. Any allocated fields in par are freed and replaced with duplicates"]
8116 #[doc = " of the corresponding fields in codec."]
8117 #[doc = ""]
8118 #[doc = " @return >= 0 on success, a negative AVERROR code on failure"]
8119 pub fn avcodec_parameters_from_context(
8120 par: *mut AVCodecParameters,
8121 codec: *const AVCodecContext,
8122 ) -> ::std::os::raw::c_int;
8123}
8124extern "C" {
8125 #[doc = " Fill the codec context based on the values from the supplied codec"]
8126 #[doc = " parameters. Any allocated fields in codec that have a corresponding field in"]
8127 #[doc = " par are freed and replaced with duplicates of the corresponding field in par."]
8128 #[doc = " Fields in codec that do not have a counterpart in par are not touched."]
8129 #[doc = ""]
8130 #[doc = " @return >= 0 on success, a negative AVERROR code on failure."]
8131 pub fn avcodec_parameters_to_context(
8132 codec: *mut AVCodecContext,
8133 par: *const AVCodecParameters,
8134 ) -> ::std::os::raw::c_int;
8135}
8136extern "C" {
8137 #[doc = " Initialize the AVCodecContext to use the given AVCodec. Prior to using this"]
8138 #[doc = " function the context has to be allocated with avcodec_alloc_context3()."]
8139 #[doc = ""]
8140 #[doc = " The functions avcodec_find_decoder_by_name(), avcodec_find_encoder_by_name(),"]
8141 #[doc = " avcodec_find_decoder() and avcodec_find_encoder() provide an easy way for"]
8142 #[doc = " retrieving a codec."]
8143 #[doc = ""]
8144 #[doc = " @warning This function is not thread safe!"]
8145 #[doc = ""]
8146 #[doc = " @note Always call this function before using decoding routines (such as"]
8147 #[doc = " @ref avcodec_receive_frame())."]
8148 #[doc = ""]
8149 #[doc = " @code"]
8150 #[doc = " avcodec_register_all();"]
8151 #[doc = " av_dict_set(&opts, \"b\", \"2.5M\", 0);"]
8152 #[doc = " codec = avcodec_find_decoder(AV_CODEC_ID_H264);"]
8153 #[doc = " if (!codec)"]
8154 #[doc = " exit(1);"]
8155 #[doc = ""]
8156 #[doc = " context = avcodec_alloc_context3(codec);"]
8157 #[doc = ""]
8158 #[doc = " if (avcodec_open2(context, codec, opts) < 0)"]
8159 #[doc = " exit(1);"]
8160 #[doc = " @endcode"]
8161 #[doc = ""]
8162 #[doc = " @param avctx The context to initialize."]
8163 #[doc = " @param codec The codec to open this context for. If a non-NULL codec has been"]
8164 #[doc = " previously passed to avcodec_alloc_context3() or"]
8165 #[doc = " for this context, then this parameter MUST be either NULL or"]
8166 #[doc = " equal to the previously passed codec."]
8167 #[doc = " @param options A dictionary filled with AVCodecContext and codec-private options."]
8168 #[doc = " On return this object will be filled with options that were not found."]
8169 #[doc = ""]
8170 #[doc = " @return zero on success, a negative value on error"]
8171 #[doc = " @see avcodec_alloc_context3(), avcodec_find_decoder(), avcodec_find_encoder(),"]
8172 #[doc = " av_dict_set(), av_opt_find()."]
8173 pub fn avcodec_open2(
8174 avctx: *mut AVCodecContext,
8175 codec: *const AVCodec,
8176 options: *mut *mut AVDictionary,
8177 ) -> ::std::os::raw::c_int;
8178}
8179extern "C" {
8180 #[doc = " Close a given AVCodecContext and free all the data associated with it"]
8181 #[doc = " (but not the AVCodecContext itself)."]
8182 #[doc = ""]
8183 #[doc = " Calling this function on an AVCodecContext that hasn\'t been opened will free"]
8184 #[doc = " the codec-specific data allocated in avcodec_alloc_context3() with a non-NULL"]
8185 #[doc = " codec. Subsequent calls will do nothing."]
8186 #[doc = ""]
8187 #[doc = " @note Do not use this function. Use avcodec_free_context() to destroy a"]
8188 #[doc = " codec context (either open or closed). Opening and closing a codec context"]
8189 #[doc = " multiple times is not supported anymore -- use multiple codec contexts"]
8190 #[doc = " instead."]
8191 pub fn avcodec_close(avctx: *mut AVCodecContext) -> ::std::os::raw::c_int;
8192}
8193extern "C" {
8194 #[doc = " Free all allocated data in the given subtitle struct."]
8195 #[doc = ""]
8196 #[doc = " @param sub AVSubtitle to free."]
8197 pub fn avsubtitle_free(sub: *mut AVSubtitle);
8198}
8199extern "C" {
8200 #[doc = " Allocate an AVPacket and set its fields to default values. The resulting"]
8201 #[doc = " struct must be freed using av_packet_free()."]
8202 #[doc = ""]
8203 #[doc = " @return An AVPacket filled with default values or NULL on failure."]
8204 #[doc = ""]
8205 #[doc = " @note this only allocates the AVPacket itself, not the data buffers. Those"]
8206 #[doc = " must be allocated through other means such as av_new_packet."]
8207 #[doc = ""]
8208 #[doc = " @see av_new_packet"]
8209 pub fn av_packet_alloc() -> *mut AVPacket;
8210}
8211extern "C" {
8212 #[doc = " Create a new packet that references the same data as src."]
8213 #[doc = ""]
8214 #[doc = " This is a shortcut for av_packet_alloc()+av_packet_ref()."]
8215 #[doc = ""]
8216 #[doc = " @return newly created AVPacket on success, NULL on error."]
8217 #[doc = ""]
8218 #[doc = " @see av_packet_alloc"]
8219 #[doc = " @see av_packet_ref"]
8220 pub fn av_packet_clone(src: *const AVPacket) -> *mut AVPacket;
8221}
8222extern "C" {
8223 #[doc = " Free the packet, if the packet is reference counted, it will be"]
8224 #[doc = " unreferenced first."]
8225 #[doc = ""]
8226 #[doc = " @param pkt packet to be freed. The pointer will be set to NULL."]
8227 #[doc = " @note passing NULL is a no-op."]
8228 pub fn av_packet_free(pkt: *mut *mut AVPacket);
8229}
8230extern "C" {
8231 #[doc = " Initialize optional fields of a packet with default values."]
8232 #[doc = ""]
8233 #[doc = " Note, this does not touch the data and size members, which have to be"]
8234 #[doc = " initialized separately."]
8235 #[doc = ""]
8236 #[doc = " @param pkt packet"]
8237 pub fn av_init_packet(pkt: *mut AVPacket);
8238}
8239extern "C" {
8240 #[doc = " Allocate the payload of a packet and initialize its fields with"]
8241 #[doc = " default values."]
8242 #[doc = ""]
8243 #[doc = " @param pkt packet"]
8244 #[doc = " @param size wanted payload size"]
8245 #[doc = " @return 0 if OK, AVERROR_xxx otherwise"]
8246 pub fn av_new_packet(pkt: *mut AVPacket, size: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8247}
8248extern "C" {
8249 #[doc = " Reduce packet size, correctly zeroing padding"]
8250 #[doc = ""]
8251 #[doc = " @param pkt packet"]
8252 #[doc = " @param size new size"]
8253 pub fn av_shrink_packet(pkt: *mut AVPacket, size: ::std::os::raw::c_int);
8254}
8255extern "C" {
8256 #[doc = " Increase packet size, correctly zeroing padding"]
8257 #[doc = ""]
8258 #[doc = " @param pkt packet"]
8259 #[doc = " @param grow_by number of bytes by which to increase the size of the packet"]
8260 pub fn av_grow_packet(
8261 pkt: *mut AVPacket,
8262 grow_by: ::std::os::raw::c_int,
8263 ) -> ::std::os::raw::c_int;
8264}
8265extern "C" {
8266 #[doc = " Initialize a reference-counted packet from av_malloc()ed data."]
8267 #[doc = ""]
8268 #[doc = " @param pkt packet to be initialized. This function will set the data, size,"]
8269 #[doc = " buf and destruct fields, all others are left untouched."]
8270 #[doc = " @param data Data allocated by av_malloc() to be used as packet data. If this"]
8271 #[doc = " function returns successfully, the data is owned by the underlying AVBuffer."]
8272 #[doc = " The caller may not access the data through other means."]
8273 #[doc = " @param size size of data in bytes, without the padding. I.e. the full buffer"]
8274 #[doc = " size is assumed to be size + AV_INPUT_BUFFER_PADDING_SIZE."]
8275 #[doc = ""]
8276 #[doc = " @return 0 on success, a negative AVERROR on error"]
8277 pub fn av_packet_from_data(
8278 pkt: *mut AVPacket,
8279 data: *mut u8,
8280 size: ::std::os::raw::c_int,
8281 ) -> ::std::os::raw::c_int;
8282}
8283extern "C" {
8284 #[doc = " @warning This is a hack - the packet memory allocation stuff is broken. The"]
8285 #[doc = " packet is allocated if it was not really allocated."]
8286 #[doc = ""]
8287 #[doc = " @deprecated Use av_packet_ref or av_packet_make_refcounted"]
8288 pub fn av_dup_packet(pkt: *mut AVPacket) -> ::std::os::raw::c_int;
8289}
8290extern "C" {
8291 #[doc = " Copy packet, including contents"]
8292 #[doc = ""]
8293 #[doc = " @return 0 on success, negative AVERROR on fail"]
8294 #[doc = ""]
8295 #[doc = " @deprecated Use av_packet_ref"]
8296 pub fn av_copy_packet(dst: *mut AVPacket, src: *const AVPacket) -> ::std::os::raw::c_int;
8297}
8298extern "C" {
8299 #[doc = " Copy packet side data"]
8300 #[doc = ""]
8301 #[doc = " @return 0 on success, negative AVERROR on fail"]
8302 #[doc = ""]
8303 #[doc = " @deprecated Use av_packet_copy_props"]
8304 pub fn av_copy_packet_side_data(
8305 dst: *mut AVPacket,
8306 src: *const AVPacket,
8307 ) -> ::std::os::raw::c_int;
8308}
8309extern "C" {
8310 #[doc = " Free a packet."]
8311 #[doc = ""]
8312 #[doc = " @deprecated Use av_packet_unref"]
8313 #[doc = ""]
8314 #[doc = " @param pkt packet to free"]
8315 pub fn av_free_packet(pkt: *mut AVPacket);
8316}
8317extern "C" {
8318 #[doc = " Allocate new information of a packet."]
8319 #[doc = ""]
8320 #[doc = " @param pkt packet"]
8321 #[doc = " @param type side information type"]
8322 #[doc = " @param size side information size"]
8323 #[doc = " @return pointer to fresh allocated data or NULL otherwise"]
8324 pub fn av_packet_new_side_data(
8325 pkt: *mut AVPacket,
8326 type_: AVPacketSideDataType,
8327 size: ::std::os::raw::c_int,
8328 ) -> *mut u8;
8329}
8330extern "C" {
8331 #[doc = " Wrap an existing array as a packet side data."]
8332 #[doc = ""]
8333 #[doc = " @param pkt packet"]
8334 #[doc = " @param type side information type"]
8335 #[doc = " @param data the side data array. It must be allocated with the av_malloc()"]
8336 #[doc = " family of functions. The ownership of the data is transferred to"]
8337 #[doc = " pkt."]
8338 #[doc = " @param size side information size"]
8339 #[doc = " @return a non-negative number on success, a negative AVERROR code on"]
8340 #[doc = " failure. On failure, the packet is unchanged and the data remains"]
8341 #[doc = " owned by the caller."]
8342 pub fn av_packet_add_side_data(
8343 pkt: *mut AVPacket,
8344 type_: AVPacketSideDataType,
8345 data: *mut u8,
8346 size: usize,
8347 ) -> ::std::os::raw::c_int;
8348}
8349extern "C" {
8350 #[doc = " Shrink the already allocated side data buffer"]
8351 #[doc = ""]
8352 #[doc = " @param pkt packet"]
8353 #[doc = " @param type side information type"]
8354 #[doc = " @param size new side information size"]
8355 #[doc = " @return 0 on success, < 0 on failure"]
8356 pub fn av_packet_shrink_side_data(
8357 pkt: *mut AVPacket,
8358 type_: AVPacketSideDataType,
8359 size: ::std::os::raw::c_int,
8360 ) -> ::std::os::raw::c_int;
8361}
8362extern "C" {
8363 #[doc = " Get side information from packet."]
8364 #[doc = ""]
8365 #[doc = " @param pkt packet"]
8366 #[doc = " @param type desired side information type"]
8367 #[doc = " @param size pointer for side information size to store (optional)"]
8368 #[doc = " @return pointer to data if present or NULL otherwise"]
8369 pub fn av_packet_get_side_data(
8370 pkt: *const AVPacket,
8371 type_: AVPacketSideDataType,
8372 size: *mut ::std::os::raw::c_int,
8373 ) -> *mut u8;
8374}
8375extern "C" {
8376 pub fn av_packet_merge_side_data(pkt: *mut AVPacket) -> ::std::os::raw::c_int;
8377}
8378extern "C" {
8379 pub fn av_packet_split_side_data(pkt: *mut AVPacket) -> ::std::os::raw::c_int;
8380}
8381extern "C" {
8382 pub fn av_packet_side_data_name(type_: AVPacketSideDataType) -> *const ::std::os::raw::c_char;
8383}
8384extern "C" {
8385 #[doc = " Pack a dictionary for use in side_data."]
8386 #[doc = ""]
8387 #[doc = " @param dict The dictionary to pack."]
8388 #[doc = " @param size pointer to store the size of the returned data"]
8389 #[doc = " @return pointer to data if successful, NULL otherwise"]
8390 pub fn av_packet_pack_dictionary(
8391 dict: *mut AVDictionary,
8392 size: *mut ::std::os::raw::c_int,
8393 ) -> *mut u8;
8394}
8395extern "C" {
8396 #[doc = " Unpack a dictionary from side_data."]
8397 #[doc = ""]
8398 #[doc = " @param data data from side_data"]
8399 #[doc = " @param size size of the data"]
8400 #[doc = " @param dict the metadata storage dictionary"]
8401 #[doc = " @return 0 on success, < 0 on failure"]
8402 pub fn av_packet_unpack_dictionary(
8403 data: *const u8,
8404 size: ::std::os::raw::c_int,
8405 dict: *mut *mut AVDictionary,
8406 ) -> ::std::os::raw::c_int;
8407}
8408extern "C" {
8409 #[doc = " Convenience function to free all the side data stored."]
8410 #[doc = " All the other fields stay untouched."]
8411 #[doc = ""]
8412 #[doc = " @param pkt packet"]
8413 pub fn av_packet_free_side_data(pkt: *mut AVPacket);
8414}
8415extern "C" {
8416 #[doc = " Setup a new reference to the data described by a given packet"]
8417 #[doc = ""]
8418 #[doc = " If src is reference-counted, setup dst as a new reference to the"]
8419 #[doc = " buffer in src. Otherwise allocate a new buffer in dst and copy the"]
8420 #[doc = " data from src into it."]
8421 #[doc = ""]
8422 #[doc = " All the other fields are copied from src."]
8423 #[doc = ""]
8424 #[doc = " @see av_packet_unref"]
8425 #[doc = ""]
8426 #[doc = " @param dst Destination packet"]
8427 #[doc = " @param src Source packet"]
8428 #[doc = ""]
8429 #[doc = " @return 0 on success, a negative AVERROR on error."]
8430 pub fn av_packet_ref(dst: *mut AVPacket, src: *const AVPacket) -> ::std::os::raw::c_int;
8431}
8432extern "C" {
8433 #[doc = " Wipe the packet."]
8434 #[doc = ""]
8435 #[doc = " Unreference the buffer referenced by the packet and reset the"]
8436 #[doc = " remaining packet fields to their default values."]
8437 #[doc = ""]
8438 #[doc = " @param pkt The packet to be unreferenced."]
8439 pub fn av_packet_unref(pkt: *mut AVPacket);
8440}
8441extern "C" {
8442 #[doc = " Move every field in src to dst and reset src."]
8443 #[doc = ""]
8444 #[doc = " @see av_packet_unref"]
8445 #[doc = ""]
8446 #[doc = " @param src Source packet, will be reset"]
8447 #[doc = " @param dst Destination packet"]
8448 pub fn av_packet_move_ref(dst: *mut AVPacket, src: *mut AVPacket);
8449}
8450extern "C" {
8451 #[doc = " Copy only \"properties\" fields from src to dst."]
8452 #[doc = ""]
8453 #[doc = " Properties for the purpose of this function are all the fields"]
8454 #[doc = " beside those related to the packet data (buf, data, size)"]
8455 #[doc = ""]
8456 #[doc = " @param dst Destination packet"]
8457 #[doc = " @param src Source packet"]
8458 #[doc = ""]
8459 #[doc = " @return 0 on success AVERROR on failure."]
8460 pub fn av_packet_copy_props(dst: *mut AVPacket, src: *const AVPacket) -> ::std::os::raw::c_int;
8461}
8462extern "C" {
8463 #[doc = " Ensure the data described by a given packet is reference counted."]
8464 #[doc = ""]
8465 #[doc = " @note This function does not ensure that the reference will be writable."]
8466 #[doc = " Use av_packet_make_writable instead for that purpose."]
8467 #[doc = ""]
8468 #[doc = " @see av_packet_ref"]
8469 #[doc = " @see av_packet_make_writable"]
8470 #[doc = ""]
8471 #[doc = " @param pkt packet whose data should be made reference counted."]
8472 #[doc = ""]
8473 #[doc = " @return 0 on success, a negative AVERROR on error. On failure, the"]
8474 #[doc = " packet is unchanged."]
8475 pub fn av_packet_make_refcounted(pkt: *mut AVPacket) -> ::std::os::raw::c_int;
8476}
8477extern "C" {
8478 #[doc = " Create a writable reference for the data described by a given packet,"]
8479 #[doc = " avoiding data copy if possible."]
8480 #[doc = ""]
8481 #[doc = " @param pkt Packet whose data should be made writable."]
8482 #[doc = ""]
8483 #[doc = " @return 0 on success, a negative AVERROR on failure. On failure, the"]
8484 #[doc = " packet is unchanged."]
8485 pub fn av_packet_make_writable(pkt: *mut AVPacket) -> ::std::os::raw::c_int;
8486}
8487extern "C" {
8488 #[doc = " Convert valid timing fields (timestamps / durations) in a packet from one"]
8489 #[doc = " timebase to another. Timestamps with unknown values (AV_NOPTS_VALUE) will be"]
8490 #[doc = " ignored."]
8491 #[doc = ""]
8492 #[doc = " @param pkt packet on which the conversion will be performed"]
8493 #[doc = " @param tb_src source timebase, in which the timing fields in pkt are"]
8494 #[doc = " expressed"]
8495 #[doc = " @param tb_dst destination timebase, to which the timing fields will be"]
8496 #[doc = " converted"]
8497 pub fn av_packet_rescale_ts(pkt: *mut AVPacket, tb_src: AVRational, tb_dst: AVRational);
8498}
8499extern "C" {
8500 #[doc = " Find a registered decoder with a matching codec ID."]
8501 #[doc = ""]
8502 #[doc = " @param id AVCodecID of the requested decoder"]
8503 #[doc = " @return A decoder if one was found, NULL otherwise."]
8504 pub fn avcodec_find_decoder(id: AVCodecID) -> *mut AVCodec;
8505}
8506extern "C" {
8507 #[doc = " Find a registered decoder with the specified name."]
8508 #[doc = ""]
8509 #[doc = " @param name name of the requested decoder"]
8510 #[doc = " @return A decoder if one was found, NULL otherwise."]
8511 pub fn avcodec_find_decoder_by_name(name: *const ::std::os::raw::c_char) -> *mut AVCodec;
8512}
8513extern "C" {
8514 #[doc = " The default callback for AVCodecContext.get_buffer2(). It is made public so"]
8515 #[doc = " it can be called by custom get_buffer2() implementations for decoders without"]
8516 #[doc = " AV_CODEC_CAP_DR1 set."]
8517 pub fn avcodec_default_get_buffer2(
8518 s: *mut AVCodecContext,
8519 frame: *mut AVFrame,
8520 flags: ::std::os::raw::c_int,
8521 ) -> ::std::os::raw::c_int;
8522}
8523extern "C" {
8524 #[doc = " Modify width and height values so that they will result in a memory"]
8525 #[doc = " buffer that is acceptable for the codec if you do not use any horizontal"]
8526 #[doc = " padding."]
8527 #[doc = ""]
8528 #[doc = " May only be used if a codec with AV_CODEC_CAP_DR1 has been opened."]
8529 pub fn avcodec_align_dimensions(
8530 s: *mut AVCodecContext,
8531 width: *mut ::std::os::raw::c_int,
8532 height: *mut ::std::os::raw::c_int,
8533 );
8534}
8535extern "C" {
8536 #[doc = " Modify width and height values so that they will result in a memory"]
8537 #[doc = " buffer that is acceptable for the codec if you also ensure that all"]
8538 #[doc = " line sizes are a multiple of the respective linesize_align[i]."]
8539 #[doc = ""]
8540 #[doc = " May only be used if a codec with AV_CODEC_CAP_DR1 has been opened."]
8541 pub fn avcodec_align_dimensions2(
8542 s: *mut AVCodecContext,
8543 width: *mut ::std::os::raw::c_int,
8544 height: *mut ::std::os::raw::c_int,
8545 linesize_align: *mut ::std::os::raw::c_int,
8546 );
8547}
8548extern "C" {
8549 #[doc = " Converts AVChromaLocation to swscale x/y chroma position."]
8550 #[doc = ""]
8551 #[doc = " The positions represent the chroma (0,0) position in a coordinates system"]
8552 #[doc = " with luma (0,0) representing the origin and luma(1,1) representing 256,256"]
8553 #[doc = ""]
8554 #[doc = " @param xpos horizontal chroma sample position"]
8555 #[doc = " @param ypos vertical chroma sample position"]
8556 pub fn avcodec_enum_to_chroma_pos(
8557 xpos: *mut ::std::os::raw::c_int,
8558 ypos: *mut ::std::os::raw::c_int,
8559 pos: AVChromaLocation,
8560 ) -> ::std::os::raw::c_int;
8561}
8562extern "C" {
8563 #[doc = " Converts swscale x/y chroma position to AVChromaLocation."]
8564 #[doc = ""]
8565 #[doc = " The positions represent the chroma (0,0) position in a coordinates system"]
8566 #[doc = " with luma (0,0) representing the origin and luma(1,1) representing 256,256"]
8567 #[doc = ""]
8568 #[doc = " @param xpos horizontal chroma sample position"]
8569 #[doc = " @param ypos vertical chroma sample position"]
8570 pub fn avcodec_chroma_pos_to_enum(
8571 xpos: ::std::os::raw::c_int,
8572 ypos: ::std::os::raw::c_int,
8573 ) -> AVChromaLocation;
8574}
8575extern "C" {
8576 #[doc = " Decode the audio frame of size avpkt->size from avpkt->data into frame."]
8577 #[doc = ""]
8578 #[doc = " Some decoders may support multiple frames in a single AVPacket. Such"]
8579 #[doc = " decoders would then just decode the first frame and the return value would be"]
8580 #[doc = " less than the packet size. In this case, avcodec_decode_audio4 has to be"]
8581 #[doc = " called again with an AVPacket containing the remaining data in order to"]
8582 #[doc = " decode the second frame, etc... Even if no frames are returned, the packet"]
8583 #[doc = " needs to be fed to the decoder with remaining data until it is completely"]
8584 #[doc = " consumed or an error occurs."]
8585 #[doc = ""]
8586 #[doc = " Some decoders (those marked with AV_CODEC_CAP_DELAY) have a delay between input"]
8587 #[doc = " and output. This means that for some packets they will not immediately"]
8588 #[doc = " produce decoded output and need to be flushed at the end of decoding to get"]
8589 #[doc = " all the decoded data. Flushing is done by calling this function with packets"]
8590 #[doc = " with avpkt->data set to NULL and avpkt->size set to 0 until it stops"]
8591 #[doc = " returning samples. It is safe to flush even those decoders that are not"]
8592 #[doc = " marked with AV_CODEC_CAP_DELAY, then no samples will be returned."]
8593 #[doc = ""]
8594 #[doc = " @warning The input buffer, avpkt->data must be AV_INPUT_BUFFER_PADDING_SIZE"]
8595 #[doc = " larger than the actual read bytes because some optimized bitstream"]
8596 #[doc = " readers read 32 or 64 bits at once and could read over the end."]
8597 #[doc = ""]
8598 #[doc = " @note The AVCodecContext MUST have been opened with @ref avcodec_open2()"]
8599 #[doc = " before packets may be fed to the decoder."]
8600 #[doc = ""]
8601 #[doc = " @param avctx the codec context"]
8602 #[doc = " @param[out] frame The AVFrame in which to store decoded audio samples."]
8603 #[doc = " The decoder will allocate a buffer for the decoded frame by"]
8604 #[doc = " calling the AVCodecContext.get_buffer2() callback."]
8605 #[doc = " When AVCodecContext.refcounted_frames is set to 1, the frame is"]
8606 #[doc = " reference counted and the returned reference belongs to the"]
8607 #[doc = " caller. The caller must release the frame using av_frame_unref()"]
8608 #[doc = " when the frame is no longer needed. The caller may safely write"]
8609 #[doc = " to the frame if av_frame_is_writable() returns 1."]
8610 #[doc = " When AVCodecContext.refcounted_frames is set to 0, the returned"]
8611 #[doc = " reference belongs to the decoder and is valid only until the"]
8612 #[doc = " next call to this function or until closing or flushing the"]
8613 #[doc = " decoder. The caller may not write to it."]
8614 #[doc = " @param[out] got_frame_ptr Zero if no frame could be decoded, otherwise it is"]
8615 #[doc = " non-zero. Note that this field being set to zero"]
8616 #[doc = " does not mean that an error has occurred. For"]
8617 #[doc = " decoders with AV_CODEC_CAP_DELAY set, no given decode"]
8618 #[doc = " call is guaranteed to produce a frame."]
8619 #[doc = " @param[in] avpkt The input AVPacket containing the input buffer."]
8620 #[doc = " At least avpkt->data and avpkt->size should be set. Some"]
8621 #[doc = " decoders might also require additional fields to be set."]
8622 #[doc = " @return A negative error code is returned if an error occurred during"]
8623 #[doc = " decoding, otherwise the number of bytes consumed from the input"]
8624 #[doc = " AVPacket is returned."]
8625 #[doc = ""]
8626 #[doc = " @deprecated Use avcodec_send_packet() and avcodec_receive_frame()."]
8627 pub fn avcodec_decode_audio4(
8628 avctx: *mut AVCodecContext,
8629 frame: *mut AVFrame,
8630 got_frame_ptr: *mut ::std::os::raw::c_int,
8631 avpkt: *const AVPacket,
8632 ) -> ::std::os::raw::c_int;
8633}
8634extern "C" {
8635 #[doc = " Decode the video frame of size avpkt->size from avpkt->data into picture."]
8636 #[doc = " Some decoders may support multiple frames in a single AVPacket, such"]
8637 #[doc = " decoders would then just decode the first frame."]
8638 #[doc = ""]
8639 #[doc = " @warning The input buffer must be AV_INPUT_BUFFER_PADDING_SIZE larger than"]
8640 #[doc = " the actual read bytes because some optimized bitstream readers read 32 or 64"]
8641 #[doc = " bits at once and could read over the end."]
8642 #[doc = ""]
8643 #[doc = " @warning The end of the input buffer buf should be set to 0 to ensure that"]
8644 #[doc = " no overreading happens for damaged MPEG streams."]
8645 #[doc = ""]
8646 #[doc = " @note Codecs which have the AV_CODEC_CAP_DELAY capability set have a delay"]
8647 #[doc = " between input and output, these need to be fed with avpkt->data=NULL,"]
8648 #[doc = " avpkt->size=0 at the end to return the remaining frames."]
8649 #[doc = ""]
8650 #[doc = " @note The AVCodecContext MUST have been opened with @ref avcodec_open2()"]
8651 #[doc = " before packets may be fed to the decoder."]
8652 #[doc = ""]
8653 #[doc = " @param avctx the codec context"]
8654 #[doc = " @param[out] picture The AVFrame in which the decoded video frame will be stored."]
8655 #[doc = " Use av_frame_alloc() to get an AVFrame. The codec will"]
8656 #[doc = " allocate memory for the actual bitmap by calling the"]
8657 #[doc = " AVCodecContext.get_buffer2() callback."]
8658 #[doc = " When AVCodecContext.refcounted_frames is set to 1, the frame is"]
8659 #[doc = " reference counted and the returned reference belongs to the"]
8660 #[doc = " caller. The caller must release the frame using av_frame_unref()"]
8661 #[doc = " when the frame is no longer needed. The caller may safely write"]
8662 #[doc = " to the frame if av_frame_is_writable() returns 1."]
8663 #[doc = " When AVCodecContext.refcounted_frames is set to 0, the returned"]
8664 #[doc = " reference belongs to the decoder and is valid only until the"]
8665 #[doc = " next call to this function or until closing or flushing the"]
8666 #[doc = " decoder. The caller may not write to it."]
8667 #[doc = ""]
8668 #[doc = " @param[in] avpkt The input AVPacket containing the input buffer."]
8669 #[doc = " You can create such packet with av_init_packet() and by then setting"]
8670 #[doc = " data and size, some decoders might in addition need other fields like"]
8671 #[doc = " flags&AV_PKT_FLAG_KEY. All decoders are designed to use the least"]
8672 #[doc = " fields possible."]
8673 #[doc = " @param[in,out] got_picture_ptr Zero if no frame could be decompressed, otherwise, it is nonzero."]
8674 #[doc = " @return On error a negative value is returned, otherwise the number of bytes"]
8675 #[doc = " used or zero if no frame could be decompressed."]
8676 #[doc = ""]
8677 #[doc = " @deprecated Use avcodec_send_packet() and avcodec_receive_frame()."]
8678 pub fn avcodec_decode_video2(
8679 avctx: *mut AVCodecContext,
8680 picture: *mut AVFrame,
8681 got_picture_ptr: *mut ::std::os::raw::c_int,
8682 avpkt: *const AVPacket,
8683 ) -> ::std::os::raw::c_int;
8684}
8685extern "C" {
8686 #[doc = " Decode a subtitle message."]
8687 #[doc = " Return a negative value on error, otherwise return the number of bytes used."]
8688 #[doc = " If no subtitle could be decompressed, got_sub_ptr is zero."]
8689 #[doc = " Otherwise, the subtitle is stored in *sub."]
8690 #[doc = " Note that AV_CODEC_CAP_DR1 is not available for subtitle codecs. This is for"]
8691 #[doc = " simplicity, because the performance difference is expect to be negligible"]
8692 #[doc = " and reusing a get_buffer written for video codecs would probably perform badly"]
8693 #[doc = " due to a potentially very different allocation pattern."]
8694 #[doc = ""]
8695 #[doc = " Some decoders (those marked with AV_CODEC_CAP_DELAY) have a delay between input"]
8696 #[doc = " and output. This means that for some packets they will not immediately"]
8697 #[doc = " produce decoded output and need to be flushed at the end of decoding to get"]
8698 #[doc = " all the decoded data. Flushing is done by calling this function with packets"]
8699 #[doc = " with avpkt->data set to NULL and avpkt->size set to 0 until it stops"]
8700 #[doc = " returning subtitles. It is safe to flush even those decoders that are not"]
8701 #[doc = " marked with AV_CODEC_CAP_DELAY, then no subtitles will be returned."]
8702 #[doc = ""]
8703 #[doc = " @note The AVCodecContext MUST have been opened with @ref avcodec_open2()"]
8704 #[doc = " before packets may be fed to the decoder."]
8705 #[doc = ""]
8706 #[doc = " @param avctx the codec context"]
8707 #[doc = " @param[out] sub The Preallocated AVSubtitle in which the decoded subtitle will be stored,"]
8708 #[doc = " must be freed with avsubtitle_free if *got_sub_ptr is set."]
8709 #[doc = " @param[in,out] got_sub_ptr Zero if no subtitle could be decompressed, otherwise, it is nonzero."]
8710 #[doc = " @param[in] avpkt The input AVPacket containing the input buffer."]
8711 pub fn avcodec_decode_subtitle2(
8712 avctx: *mut AVCodecContext,
8713 sub: *mut AVSubtitle,
8714 got_sub_ptr: *mut ::std::os::raw::c_int,
8715 avpkt: *mut AVPacket,
8716 ) -> ::std::os::raw::c_int;
8717}
8718extern "C" {
8719 #[doc = " Supply raw packet data as input to a decoder."]
8720 #[doc = ""]
8721 #[doc = " Internally, this call will copy relevant AVCodecContext fields, which can"]
8722 #[doc = " influence decoding per-packet, and apply them when the packet is actually"]
8723 #[doc = " decoded. (For example AVCodecContext.skip_frame, which might direct the"]
8724 #[doc = " decoder to drop the frame contained by the packet sent with this function.)"]
8725 #[doc = ""]
8726 #[doc = " @warning The input buffer, avpkt->data must be AV_INPUT_BUFFER_PADDING_SIZE"]
8727 #[doc = " larger than the actual read bytes because some optimized bitstream"]
8728 #[doc = " readers read 32 or 64 bits at once and could read over the end."]
8729 #[doc = ""]
8730 #[doc = " @warning Do not mix this API with the legacy API (like avcodec_decode_video2())"]
8731 #[doc = " on the same AVCodecContext. It will return unexpected results now"]
8732 #[doc = " or in future libavcodec versions."]
8733 #[doc = ""]
8734 #[doc = " @note The AVCodecContext MUST have been opened with @ref avcodec_open2()"]
8735 #[doc = " before packets may be fed to the decoder."]
8736 #[doc = ""]
8737 #[doc = " @param avctx codec context"]
8738 #[doc = " @param[in] avpkt The input AVPacket. Usually, this will be a single video"]
8739 #[doc = " frame, or several complete audio frames."]
8740 #[doc = " Ownership of the packet remains with the caller, and the"]
8741 #[doc = " decoder will not write to the packet. The decoder may create"]
8742 #[doc = " a reference to the packet data (or copy it if the packet is"]
8743 #[doc = " not reference-counted)."]
8744 #[doc = " Unlike with older APIs, the packet is always fully consumed,"]
8745 #[doc = " and if it contains multiple frames (e.g. some audio codecs),"]
8746 #[doc = " will require you to call avcodec_receive_frame() multiple"]
8747 #[doc = " times afterwards before you can send a new packet."]
8748 #[doc = " It can be NULL (or an AVPacket with data set to NULL and"]
8749 #[doc = " size set to 0); in this case, it is considered a flush"]
8750 #[doc = " packet, which signals the end of the stream. Sending the"]
8751 #[doc = " first flush packet will return success. Subsequent ones are"]
8752 #[doc = " unnecessary and will return AVERROR_EOF. If the decoder"]
8753 #[doc = " still has frames buffered, it will return them after sending"]
8754 #[doc = " a flush packet."]
8755 #[doc = ""]
8756 #[doc = " @return 0 on success, otherwise negative error code:"]
8757 #[doc = " AVERROR(EAGAIN): input is not accepted in the current state - user"]
8758 #[doc = " must read output with avcodec_receive_frame() (once"]
8759 #[doc = " all output is read, the packet should be resent, and"]
8760 #[doc = " the call will not fail with EAGAIN)."]
8761 #[doc = " AVERROR_EOF: the decoder has been flushed, and no new packets can"]
8762 #[doc = " be sent to it (also returned if more than 1 flush"]
8763 #[doc = " packet is sent)"]
8764 #[doc = " AVERROR(EINVAL): codec not opened, it is an encoder, or requires flush"]
8765 #[doc = " AVERROR(ENOMEM): failed to add packet to internal queue, or similar"]
8766 #[doc = " other errors: legitimate decoding errors"]
8767 pub fn avcodec_send_packet(
8768 avctx: *mut AVCodecContext,
8769 avpkt: *const AVPacket,
8770 ) -> ::std::os::raw::c_int;
8771}
8772extern "C" {
8773 #[doc = " Return decoded output data from a decoder."]
8774 #[doc = ""]
8775 #[doc = " @param avctx codec context"]
8776 #[doc = " @param frame This will be set to a reference-counted video or audio"]
8777 #[doc = " frame (depending on the decoder type) allocated by the"]
8778 #[doc = " decoder. Note that the function will always call"]
8779 #[doc = " av_frame_unref(frame) before doing anything else."]
8780 #[doc = ""]
8781 #[doc = " @return"]
8782 #[doc = " 0: success, a frame was returned"]
8783 #[doc = " AVERROR(EAGAIN): output is not available in this state - user must try"]
8784 #[doc = " to send new input"]
8785 #[doc = " AVERROR_EOF: the decoder has been fully flushed, and there will be"]
8786 #[doc = " no more output frames"]
8787 #[doc = " AVERROR(EINVAL): codec not opened, or it is an encoder"]
8788 #[doc = " other negative values: legitimate decoding errors"]
8789 pub fn avcodec_receive_frame(
8790 avctx: *mut AVCodecContext,
8791 frame: *mut AVFrame,
8792 ) -> ::std::os::raw::c_int;
8793}
8794extern "C" {
8795 #[doc = " Supply a raw video or audio frame to the encoder. Use avcodec_receive_packet()"]
8796 #[doc = " to retrieve buffered output packets."]
8797 #[doc = ""]
8798 #[doc = " @param avctx codec context"]
8799 #[doc = " @param[in] frame AVFrame containing the raw audio or video frame to be encoded."]
8800 #[doc = " Ownership of the frame remains with the caller, and the"]
8801 #[doc = " encoder will not write to the frame. The encoder may create"]
8802 #[doc = " a reference to the frame data (or copy it if the frame is"]
8803 #[doc = " not reference-counted)."]
8804 #[doc = " It can be NULL, in which case it is considered a flush"]
8805 #[doc = " packet. This signals the end of the stream. If the encoder"]
8806 #[doc = " still has packets buffered, it will return them after this"]
8807 #[doc = " call. Once flushing mode has been entered, additional flush"]
8808 #[doc = " packets are ignored, and sending frames will return"]
8809 #[doc = " AVERROR_EOF."]
8810 #[doc = ""]
8811 #[doc = " For audio:"]
8812 #[doc = " If AV_CODEC_CAP_VARIABLE_FRAME_SIZE is set, then each frame"]
8813 #[doc = " can have any number of samples."]
8814 #[doc = " If it is not set, frame->nb_samples must be equal to"]
8815 #[doc = " avctx->frame_size for all frames except the last."]
8816 #[doc = " The final frame may be smaller than avctx->frame_size."]
8817 #[doc = " @return 0 on success, otherwise negative error code:"]
8818 #[doc = " AVERROR(EAGAIN): input is not accepted in the current state - user"]
8819 #[doc = " must read output with avcodec_receive_packet() (once"]
8820 #[doc = " all output is read, the packet should be resent, and"]
8821 #[doc = " the call will not fail with EAGAIN)."]
8822 #[doc = " AVERROR_EOF: the encoder has been flushed, and no new frames can"]
8823 #[doc = " be sent to it"]
8824 #[doc = " AVERROR(EINVAL): codec not opened, refcounted_frames not set, it is a"]
8825 #[doc = " decoder, or requires flush"]
8826 #[doc = " AVERROR(ENOMEM): failed to add packet to internal queue, or similar"]
8827 #[doc = " other errors: legitimate decoding errors"]
8828 pub fn avcodec_send_frame(
8829 avctx: *mut AVCodecContext,
8830 frame: *const AVFrame,
8831 ) -> ::std::os::raw::c_int;
8832}
8833extern "C" {
8834 #[doc = " Read encoded data from the encoder."]
8835 #[doc = ""]
8836 #[doc = " @param avctx codec context"]
8837 #[doc = " @param avpkt This will be set to a reference-counted packet allocated by the"]
8838 #[doc = " encoder. Note that the function will always call"]
8839 #[doc = " av_frame_unref(frame) before doing anything else."]
8840 #[doc = " @return 0 on success, otherwise negative error code:"]
8841 #[doc = " AVERROR(EAGAIN): output is not available in the current state - user"]
8842 #[doc = " must try to send input"]
8843 #[doc = " AVERROR_EOF: the encoder has been fully flushed, and there will be"]
8844 #[doc = " no more output packets"]
8845 #[doc = " AVERROR(EINVAL): codec not opened, or it is an encoder"]
8846 #[doc = " other errors: legitimate decoding errors"]
8847 pub fn avcodec_receive_packet(
8848 avctx: *mut AVCodecContext,
8849 avpkt: *mut AVPacket,
8850 ) -> ::std::os::raw::c_int;
8851}
8852extern "C" {
8853 #[doc = " Create and return a AVHWFramesContext with values adequate for hardware"]
8854 #[doc = " decoding. This is meant to get called from the get_format callback, and is"]
8855 #[doc = " a helper for preparing a AVHWFramesContext for AVCodecContext.hw_frames_ctx."]
8856 #[doc = " This API is for decoding with certain hardware acceleration modes/APIs only."]
8857 #[doc = ""]
8858 #[doc = " The returned AVHWFramesContext is not initialized. The caller must do this"]
8859 #[doc = " with av_hwframe_ctx_init()."]
8860 #[doc = ""]
8861 #[doc = " Calling this function is not a requirement, but makes it simpler to avoid"]
8862 #[doc = " codec or hardware API specific details when manually allocating frames."]
8863 #[doc = ""]
8864 #[doc = " Alternatively to this, an API user can set AVCodecContext.hw_device_ctx,"]
8865 #[doc = " which sets up AVCodecContext.hw_frames_ctx fully automatically, and makes"]
8866 #[doc = " it unnecessary to call this function or having to care about"]
8867 #[doc = " AVHWFramesContext initialization at all."]
8868 #[doc = ""]
8869 #[doc = " There are a number of requirements for calling this function:"]
8870 #[doc = ""]
8871 #[doc = " - It must be called from get_format with the same avctx parameter that was"]
8872 #[doc = " passed to get_format. Calling it outside of get_format is not allowed, and"]
8873 #[doc = " can trigger undefined behavior."]
8874 #[doc = " - The function is not always supported (see description of return values)."]
8875 #[doc = " Even if this function returns successfully, hwaccel initialization could"]
8876 #[doc = " fail later. (The degree to which implementations check whether the stream"]
8877 #[doc = " is actually supported varies. Some do this check only after the user\'s"]
8878 #[doc = " get_format callback returns.)"]
8879 #[doc = " - The hw_pix_fmt must be one of the choices suggested by get_format. If the"]
8880 #[doc = " user decides to use a AVHWFramesContext prepared with this API function,"]
8881 #[doc = " the user must return the same hw_pix_fmt from get_format."]
8882 #[doc = " - The device_ref passed to this function must support the given hw_pix_fmt."]
8883 #[doc = " - After calling this API function, it is the user\'s responsibility to"]
8884 #[doc = " initialize the AVHWFramesContext (returned by the out_frames_ref parameter),"]
8885 #[doc = " and to set AVCodecContext.hw_frames_ctx to it. If done, this must be done"]
8886 #[doc = " before returning from get_format (this is implied by the normal"]
8887 #[doc = " AVCodecContext.hw_frames_ctx API rules)."]
8888 #[doc = " - The AVHWFramesContext parameters may change every time time get_format is"]
8889 #[doc = " called. Also, AVCodecContext.hw_frames_ctx is reset before get_format. So"]
8890 #[doc = " you are inherently required to go through this process again on every"]
8891 #[doc = " get_format call."]
8892 #[doc = " - It is perfectly possible to call this function without actually using"]
8893 #[doc = " the resulting AVHWFramesContext. One use-case might be trying to reuse a"]
8894 #[doc = " previously initialized AVHWFramesContext, and calling this API function"]
8895 #[doc = " only to test whether the required frame parameters have changed."]
8896 #[doc = " - Fields that use dynamically allocated values of any kind must not be set"]
8897 #[doc = " by the user unless setting them is explicitly allowed by the documentation."]
8898 #[doc = " If the user sets AVHWFramesContext.free and AVHWFramesContext.user_opaque,"]
8899 #[doc = " the new free callback must call the potentially set previous free callback."]
8900 #[doc = " This API call may set any dynamically allocated fields, including the free"]
8901 #[doc = " callback."]
8902 #[doc = ""]
8903 #[doc = " The function will set at least the following fields on AVHWFramesContext"]
8904 #[doc = " (potentially more, depending on hwaccel API):"]
8905 #[doc = ""]
8906 #[doc = " - All fields set by av_hwframe_ctx_alloc()."]
8907 #[doc = " - Set the format field to hw_pix_fmt."]
8908 #[doc = " - Set the sw_format field to the most suited and most versatile format. (An"]
8909 #[doc = " implication is that this will prefer generic formats over opaque formats"]
8910 #[doc = " with arbitrary restrictions, if possible.)"]
8911 #[doc = " - Set the width/height fields to the coded frame size, rounded up to the"]
8912 #[doc = " API-specific minimum alignment."]
8913 #[doc = " - Only _if_ the hwaccel requires a pre-allocated pool: set the initial_pool_size"]
8914 #[doc = " field to the number of maximum reference surfaces possible with the codec,"]
8915 #[doc = " plus 1 surface for the user to work (meaning the user can safely reference"]
8916 #[doc = " at most 1 decoded surface at a time), plus additional buffering introduced"]
8917 #[doc = " by frame threading. If the hwaccel does not require pre-allocation, the"]
8918 #[doc = " field is left to 0, and the decoder will allocate new surfaces on demand"]
8919 #[doc = " during decoding."]
8920 #[doc = " - Possibly AVHWFramesContext.hwctx fields, depending on the underlying"]
8921 #[doc = " hardware API."]
8922 #[doc = ""]
8923 #[doc = " Essentially, out_frames_ref returns the same as av_hwframe_ctx_alloc(), but"]
8924 #[doc = " with basic frame parameters set."]
8925 #[doc = ""]
8926 #[doc = " The function is stateless, and does not change the AVCodecContext or the"]
8927 #[doc = " device_ref AVHWDeviceContext."]
8928 #[doc = ""]
8929 #[doc = " @param avctx The context which is currently calling get_format, and which"]
8930 #[doc = " implicitly contains all state needed for filling the returned"]
8931 #[doc = " AVHWFramesContext properly."]
8932 #[doc = " @param device_ref A reference to the AVHWDeviceContext describing the device"]
8933 #[doc = " which will be used by the hardware decoder."]
8934 #[doc = " @param hw_pix_fmt The hwaccel format you are going to return from get_format."]
8935 #[doc = " @param out_frames_ref On success, set to a reference to an _uninitialized_"]
8936 #[doc = " AVHWFramesContext, created from the given device_ref."]
8937 #[doc = " Fields will be set to values required for decoding."]
8938 #[doc = " Not changed if an error is returned."]
8939 #[doc = " @return zero on success, a negative value on error. The following error codes"]
8940 #[doc = " have special semantics:"]
8941 #[doc = " AVERROR(ENOENT): the decoder does not support this functionality. Setup"]
8942 #[doc = " is always manual, or it is a decoder which does not"]
8943 #[doc = " support setting AVCodecContext.hw_frames_ctx at all,"]
8944 #[doc = " or it is a software format."]
8945 #[doc = " AVERROR(EINVAL): it is known that hardware decoding is not supported for"]
8946 #[doc = " this configuration, or the device_ref is not supported"]
8947 #[doc = " for the hwaccel referenced by hw_pix_fmt."]
8948 pub fn avcodec_get_hw_frames_parameters(
8949 avctx: *mut AVCodecContext,
8950 device_ref: *mut AVBufferRef,
8951 hw_pix_fmt: AVPixelFormat,
8952 out_frames_ref: *mut *mut AVBufferRef,
8953 ) -> ::std::os::raw::c_int;
8954}
8955pub const AVPictureStructure_AV_PICTURE_STRUCTURE_UNKNOWN: AVPictureStructure = 0;
8956pub const AVPictureStructure_AV_PICTURE_STRUCTURE_TOP_FIELD: AVPictureStructure = 1;
8957pub const AVPictureStructure_AV_PICTURE_STRUCTURE_BOTTOM_FIELD: AVPictureStructure = 2;
8958pub const AVPictureStructure_AV_PICTURE_STRUCTURE_FRAME: AVPictureStructure = 3;
8959#[doc = " @defgroup lavc_parsing Frame parsing"]
8960#[doc = " @{"]
8961pub type AVPictureStructure = u32;
8962#[repr(C)]
8963#[derive(Debug, Copy, Clone)]
8964pub struct AVCodecParserContext {
8965 pub priv_data: *mut ::std::os::raw::c_void,
8966 pub parser: *mut AVCodecParser,
8967 pub frame_offset: i64,
8968 pub cur_offset: i64,
8969 pub next_frame_offset: i64,
8970 pub pict_type: ::std::os::raw::c_int,
8971 #[doc = " This field is used for proper frame duration computation in lavf."]
8972 #[doc = " It signals, how much longer the frame duration of the current frame"]
8973 #[doc = " is compared to normal frame duration."]
8974 #[doc = ""]
8975 #[doc = " frame_duration = (1 + repeat_pict) * time_base"]
8976 #[doc = ""]
8977 #[doc = " It is used by codecs like H.264 to display telecined material."]
8978 pub repeat_pict: ::std::os::raw::c_int,
8979 pub pts: i64,
8980 pub dts: i64,
8981 pub last_pts: i64,
8982 pub last_dts: i64,
8983 pub fetch_timestamp: ::std::os::raw::c_int,
8984 pub cur_frame_start_index: ::std::os::raw::c_int,
8985 pub cur_frame_offset: [i64; 4usize],
8986 pub cur_frame_pts: [i64; 4usize],
8987 pub cur_frame_dts: [i64; 4usize],
8988 pub flags: ::std::os::raw::c_int,
8989 #[doc = "< byte offset from starting packet start"]
8990 pub offset: i64,
8991 pub cur_frame_end: [i64; 4usize],
8992 #[doc = " Set by parser to 1 for key frames and 0 for non-key frames."]
8993 #[doc = " It is initialized to -1, so if the parser doesn\'t set this flag,"]
8994 #[doc = " old-style fallback using AV_PICTURE_TYPE_I picture type as key frames"]
8995 #[doc = " will be used."]
8996 pub key_frame: ::std::os::raw::c_int,
8997 #[doc = " @deprecated unused"]
8998 pub convergence_duration: i64,
8999 #[doc = " Synchronization point for start of timestamp generation."]
9000 #[doc = ""]
9001 #[doc = " Set to >0 for sync point, 0 for no sync point and <0 for undefined"]
9002 #[doc = " (default)."]
9003 #[doc = ""]
9004 #[doc = " For example, this corresponds to presence of H.264 buffering period"]
9005 #[doc = " SEI message."]
9006 pub dts_sync_point: ::std::os::raw::c_int,
9007 #[doc = " Offset of the current timestamp against last timestamp sync point in"]
9008 #[doc = " units of AVCodecContext.time_base."]
9009 #[doc = ""]
9010 #[doc = " Set to INT_MIN when dts_sync_point unused. Otherwise, it must"]
9011 #[doc = " contain a valid timestamp offset."]
9012 #[doc = ""]
9013 #[doc = " Note that the timestamp of sync point has usually a nonzero"]
9014 #[doc = " dts_ref_dts_delta, which refers to the previous sync point. Offset of"]
9015 #[doc = " the next frame after timestamp sync point will be usually 1."]
9016 #[doc = ""]
9017 #[doc = " For example, this corresponds to H.264 cpb_removal_delay."]
9018 pub dts_ref_dts_delta: ::std::os::raw::c_int,
9019 #[doc = " Presentation delay of current frame in units of AVCodecContext.time_base."]
9020 #[doc = ""]
9021 #[doc = " Set to INT_MIN when dts_sync_point unused. Otherwise, it must"]
9022 #[doc = " contain valid non-negative timestamp delta (presentation time of a frame"]
9023 #[doc = " must not lie in the past)."]
9024 #[doc = ""]
9025 #[doc = " This delay represents the difference between decoding and presentation"]
9026 #[doc = " time of the frame."]
9027 #[doc = ""]
9028 #[doc = " For example, this corresponds to H.264 dpb_output_delay."]
9029 pub pts_dts_delta: ::std::os::raw::c_int,
9030 #[doc = " Position of the packet in file."]
9031 #[doc = ""]
9032 #[doc = " Analogous to cur_frame_pts/dts"]
9033 pub cur_frame_pos: [i64; 4usize],
9034 #[doc = " Byte position of currently parsed frame in stream."]
9035 pub pos: i64,
9036 #[doc = " Previous frame byte position."]
9037 pub last_pos: i64,
9038 #[doc = " Duration of the current frame."]
9039 #[doc = " For audio, this is in units of 1 / AVCodecContext.sample_rate."]
9040 #[doc = " For all other types, this is in units of AVCodecContext.time_base."]
9041 pub duration: ::std::os::raw::c_int,
9042 pub field_order: AVFieldOrder,
9043 #[doc = " Indicate whether a picture is coded as a frame, top field or bottom field."]
9044 #[doc = ""]
9045 #[doc = " For example, H.264 field_pic_flag equal to 0 corresponds to"]
9046 #[doc = " AV_PICTURE_STRUCTURE_FRAME. An H.264 picture with field_pic_flag"]
9047 #[doc = " equal to 1 and bottom_field_flag equal to 0 corresponds to"]
9048 #[doc = " AV_PICTURE_STRUCTURE_TOP_FIELD."]
9049 pub picture_structure: AVPictureStructure,
9050 #[doc = " Picture number incremented in presentation or output order."]
9051 #[doc = " This field may be reinitialized at the first picture of a new sequence."]
9052 #[doc = ""]
9053 #[doc = " For example, this corresponds to H.264 PicOrderCnt."]
9054 pub output_picture_number: ::std::os::raw::c_int,
9055 #[doc = " Dimensions of the decoded video intended for presentation."]
9056 pub width: ::std::os::raw::c_int,
9057 pub height: ::std::os::raw::c_int,
9058 #[doc = " Dimensions of the coded video."]
9059 pub coded_width: ::std::os::raw::c_int,
9060 pub coded_height: ::std::os::raw::c_int,
9061 #[doc = " The format of the coded data, corresponds to enum AVPixelFormat for video"]
9062 #[doc = " and for enum AVSampleFormat for audio."]
9063 #[doc = ""]
9064 #[doc = " Note that a decoder can have considerable freedom in how exactly it"]
9065 #[doc = " decodes the data, so the format reported here might be different from the"]
9066 #[doc = " one returned by a decoder."]
9067 pub format: ::std::os::raw::c_int,
9068}
9069#[repr(C)]
9070#[derive(Debug, Copy, Clone)]
9071pub struct AVCodecParser {
9072 pub codec_ids: [::std::os::raw::c_int; 5usize],
9073 pub priv_data_size: ::std::os::raw::c_int,
9074 pub parser_init: ::std::option::Option<
9075 unsafe extern "C" fn(s: *mut AVCodecParserContext) -> ::std::os::raw::c_int,
9076 >,
9077 pub parser_parse: ::std::option::Option<
9078 unsafe extern "C" fn(
9079 s: *mut AVCodecParserContext,
9080 avctx: *mut AVCodecContext,
9081 poutbuf: *mut *const u8,
9082 poutbuf_size: *mut ::std::os::raw::c_int,
9083 buf: *const u8,
9084 buf_size: ::std::os::raw::c_int,
9085 ) -> ::std::os::raw::c_int,
9086 >,
9087 pub parser_close: ::std::option::Option<unsafe extern "C" fn(s: *mut AVCodecParserContext)>,
9088 pub split: ::std::option::Option<
9089 unsafe extern "C" fn(
9090 avctx: *mut AVCodecContext,
9091 buf: *const u8,
9092 buf_size: ::std::os::raw::c_int,
9093 ) -> ::std::os::raw::c_int,
9094 >,
9095 pub next: *mut AVCodecParser,
9096}
9097extern "C" {
9098 #[doc = " Iterate over all registered codec parsers."]
9099 #[doc = ""]
9100 #[doc = " @param opaque a pointer where libavcodec will store the iteration state. Must"]
9101 #[doc = " point to NULL to start the iteration."]
9102 #[doc = ""]
9103 #[doc = " @return the next registered codec parser or NULL when the iteration is"]
9104 #[doc = " finished"]
9105 pub fn av_parser_iterate(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVCodecParser;
9106}
9107extern "C" {
9108 pub fn av_parser_next(c: *const AVCodecParser) -> *mut AVCodecParser;
9109}
9110extern "C" {
9111 pub fn av_register_codec_parser(parser: *mut AVCodecParser);
9112}
9113extern "C" {
9114 pub fn av_parser_init(codec_id: ::std::os::raw::c_int) -> *mut AVCodecParserContext;
9115}
9116extern "C" {
9117 #[doc = " Parse a packet."]
9118 #[doc = ""]
9119 #[doc = " @param s parser context."]
9120 #[doc = " @param avctx codec context."]
9121 #[doc = " @param poutbuf set to pointer to parsed buffer or NULL if not yet finished."]
9122 #[doc = " @param poutbuf_size set to size of parsed buffer or zero if not yet finished."]
9123 #[doc = " @param buf input buffer."]
9124 #[doc = " @param buf_size buffer size in bytes without the padding. I.e. the full buffer"]
9125 #[doc = "size is assumed to be buf_size + AV_INPUT_BUFFER_PADDING_SIZE."]
9126 #[doc = "To signal EOF, this should be 0 (so that the last frame"]
9127 #[doc = "can be output)."]
9128 #[doc = " @param pts input presentation timestamp."]
9129 #[doc = " @param dts input decoding timestamp."]
9130 #[doc = " @param pos input byte position in stream."]
9131 #[doc = " @return the number of bytes of the input bitstream used."]
9132 #[doc = ""]
9133 #[doc = " Example:"]
9134 #[doc = " @code"]
9135 #[doc = " while(in_len){"]
9136 #[doc = " len = av_parser_parse2(myparser, AVCodecContext, &data, &size,"]
9137 #[doc = " in_data, in_len,"]
9138 #[doc = " pts, dts, pos);"]
9139 #[doc = " in_data += len;"]
9140 #[doc = " in_len -= len;"]
9141 #[doc = ""]
9142 #[doc = " if(size)"]
9143 #[doc = " decode_frame(data, size);"]
9144 #[doc = " }"]
9145 #[doc = " @endcode"]
9146 pub fn av_parser_parse2(
9147 s: *mut AVCodecParserContext,
9148 avctx: *mut AVCodecContext,
9149 poutbuf: *mut *mut u8,
9150 poutbuf_size: *mut ::std::os::raw::c_int,
9151 buf: *const u8,
9152 buf_size: ::std::os::raw::c_int,
9153 pts: i64,
9154 dts: i64,
9155 pos: i64,
9156 ) -> ::std::os::raw::c_int;
9157}
9158extern "C" {
9159 #[doc = " @return 0 if the output buffer is a subset of the input, 1 if it is allocated and must be freed"]
9160 #[doc = " @deprecated use AVBitStreamFilter"]
9161 pub fn av_parser_change(
9162 s: *mut AVCodecParserContext,
9163 avctx: *mut AVCodecContext,
9164 poutbuf: *mut *mut u8,
9165 poutbuf_size: *mut ::std::os::raw::c_int,
9166 buf: *const u8,
9167 buf_size: ::std::os::raw::c_int,
9168 keyframe: ::std::os::raw::c_int,
9169 ) -> ::std::os::raw::c_int;
9170}
9171extern "C" {
9172 pub fn av_parser_close(s: *mut AVCodecParserContext);
9173}
9174extern "C" {
9175 #[doc = " Find a registered encoder with a matching codec ID."]
9176 #[doc = ""]
9177 #[doc = " @param id AVCodecID of the requested encoder"]
9178 #[doc = " @return An encoder if one was found, NULL otherwise."]
9179 pub fn avcodec_find_encoder(id: AVCodecID) -> *mut AVCodec;
9180}
9181extern "C" {
9182 #[doc = " Find a registered encoder with the specified name."]
9183 #[doc = ""]
9184 #[doc = " @param name name of the requested encoder"]
9185 #[doc = " @return An encoder if one was found, NULL otherwise."]
9186 pub fn avcodec_find_encoder_by_name(name: *const ::std::os::raw::c_char) -> *mut AVCodec;
9187}
9188extern "C" {
9189 #[doc = " Encode a frame of audio."]
9190 #[doc = ""]
9191 #[doc = " Takes input samples from frame and writes the next output packet, if"]
9192 #[doc = " available, to avpkt. The output packet does not necessarily contain data for"]
9193 #[doc = " the most recent frame, as encoders can delay, split, and combine input frames"]
9194 #[doc = " internally as needed."]
9195 #[doc = ""]
9196 #[doc = " @param avctx codec context"]
9197 #[doc = " @param avpkt output AVPacket."]
9198 #[doc = " The user can supply an output buffer by setting"]
9199 #[doc = " avpkt->data and avpkt->size prior to calling the"]
9200 #[doc = " function, but if the size of the user-provided data is not"]
9201 #[doc = " large enough, encoding will fail. If avpkt->data and"]
9202 #[doc = " avpkt->size are set, avpkt->destruct must also be set. All"]
9203 #[doc = " other AVPacket fields will be reset by the encoder using"]
9204 #[doc = " av_init_packet(). If avpkt->data is NULL, the encoder will"]
9205 #[doc = " allocate it. The encoder will set avpkt->size to the size"]
9206 #[doc = " of the output packet."]
9207 #[doc = ""]
9208 #[doc = " If this function fails or produces no output, avpkt will be"]
9209 #[doc = " freed using av_packet_unref()."]
9210 #[doc = " @param[in] frame AVFrame containing the raw audio data to be encoded."]
9211 #[doc = " May be NULL when flushing an encoder that has the"]
9212 #[doc = " AV_CODEC_CAP_DELAY capability set."]
9213 #[doc = " If AV_CODEC_CAP_VARIABLE_FRAME_SIZE is set, then each frame"]
9214 #[doc = " can have any number of samples."]
9215 #[doc = " If it is not set, frame->nb_samples must be equal to"]
9216 #[doc = " avctx->frame_size for all frames except the last."]
9217 #[doc = " The final frame may be smaller than avctx->frame_size."]
9218 #[doc = " @param[out] got_packet_ptr This field is set to 1 by libavcodec if the"]
9219 #[doc = " output packet is non-empty, and to 0 if it is"]
9220 #[doc = " empty. If the function returns an error, the"]
9221 #[doc = " packet can be assumed to be invalid, and the"]
9222 #[doc = " value of got_packet_ptr is undefined and should"]
9223 #[doc = " not be used."]
9224 #[doc = " @return 0 on success, negative error code on failure"]
9225 #[doc = ""]
9226 #[doc = " @deprecated use avcodec_send_frame()/avcodec_receive_packet() instead"]
9227 pub fn avcodec_encode_audio2(
9228 avctx: *mut AVCodecContext,
9229 avpkt: *mut AVPacket,
9230 frame: *const AVFrame,
9231 got_packet_ptr: *mut ::std::os::raw::c_int,
9232 ) -> ::std::os::raw::c_int;
9233}
9234extern "C" {
9235 #[doc = " Encode a frame of video."]
9236 #[doc = ""]
9237 #[doc = " Takes input raw video data from frame and writes the next output packet, if"]
9238 #[doc = " available, to avpkt. The output packet does not necessarily contain data for"]
9239 #[doc = " the most recent frame, as encoders can delay and reorder input frames"]
9240 #[doc = " internally as needed."]
9241 #[doc = ""]
9242 #[doc = " @param avctx codec context"]
9243 #[doc = " @param avpkt output AVPacket."]
9244 #[doc = " The user can supply an output buffer by setting"]
9245 #[doc = " avpkt->data and avpkt->size prior to calling the"]
9246 #[doc = " function, but if the size of the user-provided data is not"]
9247 #[doc = " large enough, encoding will fail. All other AVPacket fields"]
9248 #[doc = " will be reset by the encoder using av_init_packet(). If"]
9249 #[doc = " avpkt->data is NULL, the encoder will allocate it."]
9250 #[doc = " The encoder will set avpkt->size to the size of the"]
9251 #[doc = " output packet. The returned data (if any) belongs to the"]
9252 #[doc = " caller, he is responsible for freeing it."]
9253 #[doc = ""]
9254 #[doc = " If this function fails or produces no output, avpkt will be"]
9255 #[doc = " freed using av_packet_unref()."]
9256 #[doc = " @param[in] frame AVFrame containing the raw video data to be encoded."]
9257 #[doc = " May be NULL when flushing an encoder that has the"]
9258 #[doc = " AV_CODEC_CAP_DELAY capability set."]
9259 #[doc = " @param[out] got_packet_ptr This field is set to 1 by libavcodec if the"]
9260 #[doc = " output packet is non-empty, and to 0 if it is"]
9261 #[doc = " empty. If the function returns an error, the"]
9262 #[doc = " packet can be assumed to be invalid, and the"]
9263 #[doc = " value of got_packet_ptr is undefined and should"]
9264 #[doc = " not be used."]
9265 #[doc = " @return 0 on success, negative error code on failure"]
9266 #[doc = ""]
9267 #[doc = " @deprecated use avcodec_send_frame()/avcodec_receive_packet() instead"]
9268 pub fn avcodec_encode_video2(
9269 avctx: *mut AVCodecContext,
9270 avpkt: *mut AVPacket,
9271 frame: *const AVFrame,
9272 got_packet_ptr: *mut ::std::os::raw::c_int,
9273 ) -> ::std::os::raw::c_int;
9274}
9275extern "C" {
9276 pub fn avcodec_encode_subtitle(
9277 avctx: *mut AVCodecContext,
9278 buf: *mut u8,
9279 buf_size: ::std::os::raw::c_int,
9280 sub: *const AVSubtitle,
9281 ) -> ::std::os::raw::c_int;
9282}
9283extern "C" {
9284 #[doc = " @deprecated unused"]
9285 pub fn avpicture_alloc(
9286 picture: *mut AVPicture,
9287 pix_fmt: AVPixelFormat,
9288 width: ::std::os::raw::c_int,
9289 height: ::std::os::raw::c_int,
9290 ) -> ::std::os::raw::c_int;
9291}
9292extern "C" {
9293 #[doc = " @deprecated unused"]
9294 pub fn avpicture_free(picture: *mut AVPicture);
9295}
9296extern "C" {
9297 #[doc = " @deprecated use av_image_fill_arrays() instead."]
9298 pub fn avpicture_fill(
9299 picture: *mut AVPicture,
9300 ptr: *const u8,
9301 pix_fmt: AVPixelFormat,
9302 width: ::std::os::raw::c_int,
9303 height: ::std::os::raw::c_int,
9304 ) -> ::std::os::raw::c_int;
9305}
9306extern "C" {
9307 #[doc = " @deprecated use av_image_copy_to_buffer() instead."]
9308 pub fn avpicture_layout(
9309 src: *const AVPicture,
9310 pix_fmt: AVPixelFormat,
9311 width: ::std::os::raw::c_int,
9312 height: ::std::os::raw::c_int,
9313 dest: *mut ::std::os::raw::c_uchar,
9314 dest_size: ::std::os::raw::c_int,
9315 ) -> ::std::os::raw::c_int;
9316}
9317extern "C" {
9318 #[doc = " @deprecated use av_image_get_buffer_size() instead."]
9319 pub fn avpicture_get_size(
9320 pix_fmt: AVPixelFormat,
9321 width: ::std::os::raw::c_int,
9322 height: ::std::os::raw::c_int,
9323 ) -> ::std::os::raw::c_int;
9324}
9325extern "C" {
9326 #[doc = " @deprecated av_image_copy() instead."]
9327 pub fn av_picture_copy(
9328 dst: *mut AVPicture,
9329 src: *const AVPicture,
9330 pix_fmt: AVPixelFormat,
9331 width: ::std::os::raw::c_int,
9332 height: ::std::os::raw::c_int,
9333 );
9334}
9335extern "C" {
9336 #[doc = " @deprecated unused"]
9337 pub fn av_picture_crop(
9338 dst: *mut AVPicture,
9339 src: *const AVPicture,
9340 pix_fmt: AVPixelFormat,
9341 top_band: ::std::os::raw::c_int,
9342 left_band: ::std::os::raw::c_int,
9343 ) -> ::std::os::raw::c_int;
9344}
9345extern "C" {
9346 #[doc = " @deprecated unused"]
9347 pub fn av_picture_pad(
9348 dst: *mut AVPicture,
9349 src: *const AVPicture,
9350 height: ::std::os::raw::c_int,
9351 width: ::std::os::raw::c_int,
9352 pix_fmt: AVPixelFormat,
9353 padtop: ::std::os::raw::c_int,
9354 padbottom: ::std::os::raw::c_int,
9355 padleft: ::std::os::raw::c_int,
9356 padright: ::std::os::raw::c_int,
9357 color: *mut ::std::os::raw::c_int,
9358 ) -> ::std::os::raw::c_int;
9359}
9360extern "C" {
9361 #[doc = " @deprecated Use av_pix_fmt_get_chroma_sub_sample"]
9362 pub fn avcodec_get_chroma_sub_sample(
9363 pix_fmt: AVPixelFormat,
9364 h_shift: *mut ::std::os::raw::c_int,
9365 v_shift: *mut ::std::os::raw::c_int,
9366 );
9367}
9368extern "C" {
9369 #[doc = " Return a value representing the fourCC code associated to the"]
9370 #[doc = " pixel format pix_fmt, or 0 if no associated fourCC code can be"]
9371 #[doc = " found."]
9372 pub fn avcodec_pix_fmt_to_codec_tag(pix_fmt: AVPixelFormat) -> ::std::os::raw::c_uint;
9373}
9374extern "C" {
9375 #[doc = " @deprecated see av_get_pix_fmt_loss()"]
9376 pub fn avcodec_get_pix_fmt_loss(
9377 dst_pix_fmt: AVPixelFormat,
9378 src_pix_fmt: AVPixelFormat,
9379 has_alpha: ::std::os::raw::c_int,
9380 ) -> ::std::os::raw::c_int;
9381}
9382extern "C" {
9383 #[doc = " Find the best pixel format to convert to given a certain source pixel"]
9384 #[doc = " format. When converting from one pixel format to another, information loss"]
9385 #[doc = " may occur. For example, when converting from RGB24 to GRAY, the color"]
9386 #[doc = " information will be lost. Similarly, other losses occur when converting from"]
9387 #[doc = " some formats to other formats. avcodec_find_best_pix_fmt_of_2() searches which of"]
9388 #[doc = " the given pixel formats should be used to suffer the least amount of loss."]
9389 #[doc = " The pixel formats from which it chooses one, are determined by the"]
9390 #[doc = " pix_fmt_list parameter."]
9391 #[doc = ""]
9392 #[doc = ""]
9393 #[doc = " @param[in] pix_fmt_list AV_PIX_FMT_NONE terminated array of pixel formats to choose from"]
9394 #[doc = " @param[in] src_pix_fmt source pixel format"]
9395 #[doc = " @param[in] has_alpha Whether the source pixel format alpha channel is used."]
9396 #[doc = " @param[out] loss_ptr Combination of flags informing you what kind of losses will occur."]
9397 #[doc = " @return The best pixel format to convert to or -1 if none was found."]
9398 pub fn avcodec_find_best_pix_fmt_of_list(
9399 pix_fmt_list: *const AVPixelFormat,
9400 src_pix_fmt: AVPixelFormat,
9401 has_alpha: ::std::os::raw::c_int,
9402 loss_ptr: *mut ::std::os::raw::c_int,
9403 ) -> AVPixelFormat;
9404}
9405extern "C" {
9406 #[doc = " @deprecated see av_find_best_pix_fmt_of_2()"]
9407 pub fn avcodec_find_best_pix_fmt_of_2(
9408 dst_pix_fmt1: AVPixelFormat,
9409 dst_pix_fmt2: AVPixelFormat,
9410 src_pix_fmt: AVPixelFormat,
9411 has_alpha: ::std::os::raw::c_int,
9412 loss_ptr: *mut ::std::os::raw::c_int,
9413 ) -> AVPixelFormat;
9414}
9415extern "C" {
9416 pub fn avcodec_find_best_pix_fmt2(
9417 dst_pix_fmt1: AVPixelFormat,
9418 dst_pix_fmt2: AVPixelFormat,
9419 src_pix_fmt: AVPixelFormat,
9420 has_alpha: ::std::os::raw::c_int,
9421 loss_ptr: *mut ::std::os::raw::c_int,
9422 ) -> AVPixelFormat;
9423}
9424extern "C" {
9425 pub fn avcodec_default_get_format(
9426 s: *mut AVCodecContext,
9427 fmt: *const AVPixelFormat,
9428 ) -> AVPixelFormat;
9429}
9430extern "C" {
9431 #[doc = " Put a string representing the codec tag codec_tag in buf."]
9432 #[doc = ""]
9433 #[doc = " @param buf buffer to place codec tag in"]
9434 #[doc = " @param buf_size size in bytes of buf"]
9435 #[doc = " @param codec_tag codec tag to assign"]
9436 #[doc = " @return the length of the string that would have been generated if"]
9437 #[doc = " enough space had been available, excluding the trailing null"]
9438 #[doc = ""]
9439 #[doc = " @deprecated see av_fourcc_make_string() and av_fourcc2str()."]
9440 pub fn av_get_codec_tag_string(
9441 buf: *mut ::std::os::raw::c_char,
9442 buf_size: usize,
9443 codec_tag: ::std::os::raw::c_uint,
9444 ) -> usize;
9445}
9446extern "C" {
9447 pub fn avcodec_string(
9448 buf: *mut ::std::os::raw::c_char,
9449 buf_size: ::std::os::raw::c_int,
9450 enc: *mut AVCodecContext,
9451 encode: ::std::os::raw::c_int,
9452 );
9453}
9454extern "C" {
9455 #[doc = " Return a name for the specified profile, if available."]
9456 #[doc = ""]
9457 #[doc = " @param codec the codec that is searched for the given profile"]
9458 #[doc = " @param profile the profile value for which a name is requested"]
9459 #[doc = " @return A name for the profile if found, NULL otherwise."]
9460 pub fn av_get_profile_name(
9461 codec: *const AVCodec,
9462 profile: ::std::os::raw::c_int,
9463 ) -> *const ::std::os::raw::c_char;
9464}
9465extern "C" {
9466 #[doc = " Return a name for the specified profile, if available."]
9467 #[doc = ""]
9468 #[doc = " @param codec_id the ID of the codec to which the requested profile belongs"]
9469 #[doc = " @param profile the profile value for which a name is requested"]
9470 #[doc = " @return A name for the profile if found, NULL otherwise."]
9471 #[doc = ""]
9472 #[doc = " @note unlike av_get_profile_name(), which searches a list of profiles"]
9473 #[doc = " supported by a specific decoder or encoder implementation, this"]
9474 #[doc = " function searches the list of profiles from the AVCodecDescriptor"]
9475 pub fn avcodec_profile_name(
9476 codec_id: AVCodecID,
9477 profile: ::std::os::raw::c_int,
9478 ) -> *const ::std::os::raw::c_char;
9479}
9480extern "C" {
9481 pub fn avcodec_default_execute(
9482 c: *mut AVCodecContext,
9483 func: ::std::option::Option<
9484 unsafe extern "C" fn(
9485 c: *mut AVCodecContext,
9486 func: *mut ::std::os::raw::c_void,
9487 ) -> ::std::os::raw::c_int,
9488 >,
9489 arg: *mut ::std::os::raw::c_void,
9490 ret: *mut ::std::os::raw::c_int,
9491 count: ::std::os::raw::c_int,
9492 size: ::std::os::raw::c_int,
9493 ) -> ::std::os::raw::c_int;
9494}
9495extern "C" {
9496 pub fn avcodec_default_execute2(
9497 c: *mut AVCodecContext,
9498 func: ::std::option::Option<
9499 unsafe extern "C" fn(
9500 c: *mut AVCodecContext,
9501 func: *mut ::std::os::raw::c_void,
9502 arg: ::std::os::raw::c_int,
9503 ret: ::std::os::raw::c_int,
9504 ) -> ::std::os::raw::c_int,
9505 >,
9506 arg: *mut ::std::os::raw::c_void,
9507 ret: *mut ::std::os::raw::c_int,
9508 count: ::std::os::raw::c_int,
9509 ) -> ::std::os::raw::c_int;
9510}
9511extern "C" {
9512 #[doc = " Fill AVFrame audio data and linesize pointers."]
9513 #[doc = ""]
9514 #[doc = " The buffer buf must be a preallocated buffer with a size big enough"]
9515 #[doc = " to contain the specified samples amount. The filled AVFrame data"]
9516 #[doc = " pointers will point to this buffer."]
9517 #[doc = ""]
9518 #[doc = " AVFrame extended_data channel pointers are allocated if necessary for"]
9519 #[doc = " planar audio."]
9520 #[doc = ""]
9521 #[doc = " @param frame the AVFrame"]
9522 #[doc = " frame->nb_samples must be set prior to calling the"]
9523 #[doc = " function. This function fills in frame->data,"]
9524 #[doc = " frame->extended_data, frame->linesize[0]."]
9525 #[doc = " @param nb_channels channel count"]
9526 #[doc = " @param sample_fmt sample format"]
9527 #[doc = " @param buf buffer to use for frame data"]
9528 #[doc = " @param buf_size size of buffer"]
9529 #[doc = " @param align plane size sample alignment (0 = default)"]
9530 #[doc = " @return >=0 on success, negative error code on failure"]
9531 #[doc = " @todo return the size in bytes required to store the samples in"]
9532 #[doc = " case of success, at the next libavutil bump"]
9533 pub fn avcodec_fill_audio_frame(
9534 frame: *mut AVFrame,
9535 nb_channels: ::std::os::raw::c_int,
9536 sample_fmt: AVSampleFormat,
9537 buf: *const u8,
9538 buf_size: ::std::os::raw::c_int,
9539 align: ::std::os::raw::c_int,
9540 ) -> ::std::os::raw::c_int;
9541}
9542extern "C" {
9543 #[doc = " Reset the internal decoder state / flush internal buffers. Should be called"]
9544 #[doc = " e.g. when seeking or when switching to a different stream."]
9545 #[doc = ""]
9546 #[doc = " @note when refcounted frames are not used (i.e. avctx->refcounted_frames is 0),"]
9547 #[doc = " this invalidates the frames previously returned from the decoder. When"]
9548 #[doc = " refcounted frames are used, the decoder just releases any references it might"]
9549 #[doc = " keep internally, but the caller\'s reference remains valid."]
9550 pub fn avcodec_flush_buffers(avctx: *mut AVCodecContext);
9551}
9552extern "C" {
9553 #[doc = " Return codec bits per sample."]
9554 #[doc = ""]
9555 #[doc = " @param[in] codec_id the codec"]
9556 #[doc = " @return Number of bits per sample or zero if unknown for the given codec."]
9557 pub fn av_get_bits_per_sample(codec_id: AVCodecID) -> ::std::os::raw::c_int;
9558}
9559extern "C" {
9560 #[doc = " Return the PCM codec associated with a sample format."]
9561 #[doc = " @param be endianness, 0 for little, 1 for big,"]
9562 #[doc = " -1 (or anything else) for native"]
9563 #[doc = " @return AV_CODEC_ID_PCM_* or AV_CODEC_ID_NONE"]
9564 pub fn av_get_pcm_codec(fmt: AVSampleFormat, be: ::std::os::raw::c_int) -> AVCodecID;
9565}
9566extern "C" {
9567 #[doc = " Return codec bits per sample."]
9568 #[doc = " Only return non-zero if the bits per sample is exactly correct, not an"]
9569 #[doc = " approximation."]
9570 #[doc = ""]
9571 #[doc = " @param[in] codec_id the codec"]
9572 #[doc = " @return Number of bits per sample or zero if unknown for the given codec."]
9573 pub fn av_get_exact_bits_per_sample(codec_id: AVCodecID) -> ::std::os::raw::c_int;
9574}
9575extern "C" {
9576 #[doc = " Return audio frame duration."]
9577 #[doc = ""]
9578 #[doc = " @param avctx codec context"]
9579 #[doc = " @param frame_bytes size of the frame, or 0 if unknown"]
9580 #[doc = " @return frame duration, in samples, if known. 0 if not able to"]
9581 #[doc = " determine."]
9582 pub fn av_get_audio_frame_duration(
9583 avctx: *mut AVCodecContext,
9584 frame_bytes: ::std::os::raw::c_int,
9585 ) -> ::std::os::raw::c_int;
9586}
9587extern "C" {
9588 #[doc = " This function is the same as av_get_audio_frame_duration(), except it works"]
9589 #[doc = " with AVCodecParameters instead of an AVCodecContext."]
9590 pub fn av_get_audio_frame_duration2(
9591 par: *mut AVCodecParameters,
9592 frame_bytes: ::std::os::raw::c_int,
9593 ) -> ::std::os::raw::c_int;
9594}
9595#[repr(C)]
9596#[derive(Debug, Copy, Clone)]
9597pub struct AVBitStreamFilterContext {
9598 pub priv_data: *mut ::std::os::raw::c_void,
9599 pub filter: *const AVBitStreamFilter,
9600 pub parser: *mut AVCodecParserContext,
9601 pub next: *mut AVBitStreamFilterContext,
9602 #[doc = " Internal default arguments, used if NULL is passed to av_bitstream_filter_filter()."]
9603 #[doc = " Not for access by library users."]
9604 pub args: *mut ::std::os::raw::c_char,
9605}
9606#[repr(C)]
9607#[derive(Debug, Copy, Clone)]
9608pub struct AVBSFInternal {
9609 _unused: [u8; 0],
9610}
9611#[doc = " The bitstream filter state."]
9612#[doc = ""]
9613#[doc = " This struct must be allocated with av_bsf_alloc() and freed with"]
9614#[doc = " av_bsf_free()."]
9615#[doc = ""]
9616#[doc = " The fields in the struct will only be changed (by the caller or by the"]
9617#[doc = " filter) as described in their documentation, and are to be considered"]
9618#[doc = " immutable otherwise."]
9619#[repr(C)]
9620#[derive(Debug, Copy, Clone)]
9621pub struct AVBSFContext {
9622 #[doc = " A class for logging and AVOptions"]
9623 pub av_class: *const AVClass,
9624 #[doc = " The bitstream filter this context is an instance of."]
9625 pub filter: *const AVBitStreamFilter,
9626 #[doc = " Opaque libavcodec internal data. Must not be touched by the caller in any"]
9627 #[doc = " way."]
9628 pub internal: *mut AVBSFInternal,
9629 #[doc = " Opaque filter-specific private data. If filter->priv_class is non-NULL,"]
9630 #[doc = " this is an AVOptions-enabled struct."]
9631 pub priv_data: *mut ::std::os::raw::c_void,
9632 #[doc = " Parameters of the input stream. This field is allocated in"]
9633 #[doc = " av_bsf_alloc(), it needs to be filled by the caller before"]
9634 #[doc = " av_bsf_init()."]
9635 pub par_in: *mut AVCodecParameters,
9636 #[doc = " Parameters of the output stream. This field is allocated in"]
9637 #[doc = " av_bsf_alloc(), it is set by the filter in av_bsf_init()."]
9638 pub par_out: *mut AVCodecParameters,
9639 #[doc = " The timebase used for the timestamps of the input packets. Set by the"]
9640 #[doc = " caller before av_bsf_init()."]
9641 pub time_base_in: AVRational,
9642 #[doc = " The timebase used for the timestamps of the output packets. Set by the"]
9643 #[doc = " filter in av_bsf_init()."]
9644 pub time_base_out: AVRational,
9645}
9646#[repr(C)]
9647#[derive(Debug, Copy, Clone)]
9648pub struct AVBitStreamFilter {
9649 pub name: *const ::std::os::raw::c_char,
9650 #[doc = " A list of codec ids supported by the filter, terminated by"]
9651 #[doc = " AV_CODEC_ID_NONE."]
9652 #[doc = " May be NULL, in that case the bitstream filter works with any codec id."]
9653 pub codec_ids: *const AVCodecID,
9654 #[doc = " A class for the private data, used to declare bitstream filter private"]
9655 #[doc = " AVOptions. This field is NULL for bitstream filters that do not declare"]
9656 #[doc = " any options."]
9657 #[doc = ""]
9658 #[doc = " If this field is non-NULL, the first member of the filter private data"]
9659 #[doc = " must be a pointer to AVClass, which will be set by libavcodec generic"]
9660 #[doc = " code to this class."]
9661 pub priv_class: *const AVClass,
9662 #[doc = " No fields below this line are part of the public API. They"]
9663 #[doc = " may not be used outside of libavcodec and can be changed and"]
9664 #[doc = " removed at will."]
9665 #[doc = " New public fields should be added right above."]
9666 #[doc = ""]
9667 pub priv_data_size: ::std::os::raw::c_int,
9668 pub init: ::std::option::Option<
9669 unsafe extern "C" fn(ctx: *mut AVBSFContext) -> ::std::os::raw::c_int,
9670 >,
9671 pub filter: ::std::option::Option<
9672 unsafe extern "C" fn(ctx: *mut AVBSFContext, pkt: *mut AVPacket) -> ::std::os::raw::c_int,
9673 >,
9674 pub close: ::std::option::Option<unsafe extern "C" fn(ctx: *mut AVBSFContext)>,
9675 pub flush: ::std::option::Option<unsafe extern "C" fn(ctx: *mut AVBSFContext)>,
9676}
9677extern "C" {
9678 #[doc = " @deprecated the old bitstream filtering API (using AVBitStreamFilterContext)"]
9679 #[doc = " is deprecated. Use the new bitstream filtering API (using AVBSFContext)."]
9680 pub fn av_register_bitstream_filter(bsf: *mut AVBitStreamFilter);
9681}
9682extern "C" {
9683 #[doc = " @deprecated the old bitstream filtering API (using AVBitStreamFilterContext)"]
9684 #[doc = " is deprecated. Use av_bsf_get_by_name(), av_bsf_alloc(), and av_bsf_init()"]
9685 #[doc = " from the new bitstream filtering API (using AVBSFContext)."]
9686 pub fn av_bitstream_filter_init(
9687 name: *const ::std::os::raw::c_char,
9688 ) -> *mut AVBitStreamFilterContext;
9689}
9690extern "C" {
9691 #[doc = " @deprecated the old bitstream filtering API (using AVBitStreamFilterContext)"]
9692 #[doc = " is deprecated. Use av_bsf_send_packet() and av_bsf_receive_packet() from the"]
9693 #[doc = " new bitstream filtering API (using AVBSFContext)."]
9694 pub fn av_bitstream_filter_filter(
9695 bsfc: *mut AVBitStreamFilterContext,
9696 avctx: *mut AVCodecContext,
9697 args: *const ::std::os::raw::c_char,
9698 poutbuf: *mut *mut u8,
9699 poutbuf_size: *mut ::std::os::raw::c_int,
9700 buf: *const u8,
9701 buf_size: ::std::os::raw::c_int,
9702 keyframe: ::std::os::raw::c_int,
9703 ) -> ::std::os::raw::c_int;
9704}
9705extern "C" {
9706 #[doc = " @deprecated the old bitstream filtering API (using AVBitStreamFilterContext)"]
9707 #[doc = " is deprecated. Use av_bsf_free() from the new bitstream filtering API (using"]
9708 #[doc = " AVBSFContext)."]
9709 pub fn av_bitstream_filter_close(bsf: *mut AVBitStreamFilterContext);
9710}
9711extern "C" {
9712 #[doc = " @deprecated the old bitstream filtering API (using AVBitStreamFilterContext)"]
9713 #[doc = " is deprecated. Use av_bsf_iterate() from the new bitstream filtering API (using"]
9714 #[doc = " AVBSFContext)."]
9715 pub fn av_bitstream_filter_next(f: *const AVBitStreamFilter) -> *const AVBitStreamFilter;
9716}
9717extern "C" {
9718 #[doc = " @return a bitstream filter with the specified name or NULL if no such"]
9719 #[doc = " bitstream filter exists."]
9720 pub fn av_bsf_get_by_name(name: *const ::std::os::raw::c_char) -> *const AVBitStreamFilter;
9721}
9722extern "C" {
9723 #[doc = " Iterate over all registered bitstream filters."]
9724 #[doc = ""]
9725 #[doc = " @param opaque a pointer where libavcodec will store the iteration state. Must"]
9726 #[doc = " point to NULL to start the iteration."]
9727 #[doc = ""]
9728 #[doc = " @return the next registered bitstream filter or NULL when the iteration is"]
9729 #[doc = " finished"]
9730 pub fn av_bsf_iterate(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVBitStreamFilter;
9731}
9732extern "C" {
9733 pub fn av_bsf_next(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVBitStreamFilter;
9734}
9735extern "C" {
9736 #[doc = " Allocate a context for a given bitstream filter. The caller must fill in the"]
9737 #[doc = " context parameters as described in the documentation and then call"]
9738 #[doc = " av_bsf_init() before sending any data to the filter."]
9739 #[doc = ""]
9740 #[doc = " @param filter the filter for which to allocate an instance."]
9741 #[doc = " @param ctx a pointer into which the pointer to the newly-allocated context"]
9742 #[doc = " will be written. It must be freed with av_bsf_free() after the"]
9743 #[doc = " filtering is done."]
9744 #[doc = ""]
9745 #[doc = " @return 0 on success, a negative AVERROR code on failure"]
9746 pub fn av_bsf_alloc(
9747 filter: *const AVBitStreamFilter,
9748 ctx: *mut *mut AVBSFContext,
9749 ) -> ::std::os::raw::c_int;
9750}
9751extern "C" {
9752 #[doc = " Prepare the filter for use, after all the parameters and options have been"]
9753 #[doc = " set."]
9754 pub fn av_bsf_init(ctx: *mut AVBSFContext) -> ::std::os::raw::c_int;
9755}
9756extern "C" {
9757 #[doc = " Submit a packet for filtering."]
9758 #[doc = ""]
9759 #[doc = " After sending each packet, the filter must be completely drained by calling"]
9760 #[doc = " av_bsf_receive_packet() repeatedly until it returns AVERROR(EAGAIN) or"]
9761 #[doc = " AVERROR_EOF."]
9762 #[doc = ""]
9763 #[doc = " @param pkt the packet to filter. The bitstream filter will take ownership of"]
9764 #[doc = " the packet and reset the contents of pkt. pkt is not touched if an error occurs."]
9765 #[doc = " This parameter may be NULL, which signals the end of the stream (i.e. no more"]
9766 #[doc = " packets will be sent). That will cause the filter to output any packets it"]
9767 #[doc = " may have buffered internally."]
9768 #[doc = ""]
9769 #[doc = " @return 0 on success, a negative AVERROR on error."]
9770 pub fn av_bsf_send_packet(ctx: *mut AVBSFContext, pkt: *mut AVPacket) -> ::std::os::raw::c_int;
9771}
9772extern "C" {
9773 #[doc = " Retrieve a filtered packet."]
9774 #[doc = ""]
9775 #[doc = " @param[out] pkt this struct will be filled with the contents of the filtered"]
9776 #[doc = " packet. It is owned by the caller and must be freed using"]
9777 #[doc = " av_packet_unref() when it is no longer needed."]
9778 #[doc = " This parameter should be \"clean\" (i.e. freshly allocated"]
9779 #[doc = " with av_packet_alloc() or unreffed with av_packet_unref())"]
9780 #[doc = " when this function is called. If this function returns"]
9781 #[doc = " successfully, the contents of pkt will be completely"]
9782 #[doc = " overwritten by the returned data. On failure, pkt is not"]
9783 #[doc = " touched."]
9784 #[doc = ""]
9785 #[doc = " @return 0 on success. AVERROR(EAGAIN) if more packets need to be sent to the"]
9786 #[doc = " filter (using av_bsf_send_packet()) to get more output. AVERROR_EOF if there"]
9787 #[doc = " will be no further output from the filter. Another negative AVERROR value if"]
9788 #[doc = " an error occurs."]
9789 #[doc = ""]
9790 #[doc = " @note one input packet may result in several output packets, so after sending"]
9791 #[doc = " a packet with av_bsf_send_packet(), this function needs to be called"]
9792 #[doc = " repeatedly until it stops returning 0. It is also possible for a filter to"]
9793 #[doc = " output fewer packets than were sent to it, so this function may return"]
9794 #[doc = " AVERROR(EAGAIN) immediately after a successful av_bsf_send_packet() call."]
9795 pub fn av_bsf_receive_packet(
9796 ctx: *mut AVBSFContext,
9797 pkt: *mut AVPacket,
9798 ) -> ::std::os::raw::c_int;
9799}
9800extern "C" {
9801 #[doc = " Reset the internal bitstream filter state / flush internal buffers."]
9802 pub fn av_bsf_flush(ctx: *mut AVBSFContext);
9803}
9804extern "C" {
9805 #[doc = " Free a bitstream filter context and everything associated with it; write NULL"]
9806 #[doc = " into the supplied pointer."]
9807 pub fn av_bsf_free(ctx: *mut *mut AVBSFContext);
9808}
9809extern "C" {
9810 #[doc = " Get the AVClass for AVBSFContext. It can be used in combination with"]
9811 #[doc = " AV_OPT_SEARCH_FAKE_OBJ for examining options."]
9812 #[doc = ""]
9813 #[doc = " @see av_opt_find()."]
9814 pub fn av_bsf_get_class() -> *const AVClass;
9815}
9816#[repr(C)]
9817#[derive(Debug, Copy, Clone)]
9818pub struct AVBSFList {
9819 _unused: [u8; 0],
9820}
9821extern "C" {
9822 #[doc = " Allocate empty list of bitstream filters."]
9823 #[doc = " The list must be later freed by av_bsf_list_free()"]
9824 #[doc = " or finalized by av_bsf_list_finalize()."]
9825 #[doc = ""]
9826 #[doc = " @return Pointer to @ref AVBSFList on success, NULL in case of failure"]
9827 pub fn av_bsf_list_alloc() -> *mut AVBSFList;
9828}
9829extern "C" {
9830 #[doc = " Free list of bitstream filters."]
9831 #[doc = ""]
9832 #[doc = " @param lst Pointer to pointer returned by av_bsf_list_alloc()"]
9833 pub fn av_bsf_list_free(lst: *mut *mut AVBSFList);
9834}
9835extern "C" {
9836 #[doc = " Append bitstream filter to the list of bitstream filters."]
9837 #[doc = ""]
9838 #[doc = " @param lst List to append to"]
9839 #[doc = " @param bsf Filter context to be appended"]
9840 #[doc = ""]
9841 #[doc = " @return >=0 on success, negative AVERROR in case of failure"]
9842 pub fn av_bsf_list_append(lst: *mut AVBSFList, bsf: *mut AVBSFContext)
9843 -> ::std::os::raw::c_int;
9844}
9845extern "C" {
9846 #[doc = " Construct new bitstream filter context given it\'s name and options"]
9847 #[doc = " and append it to the list of bitstream filters."]
9848 #[doc = ""]
9849 #[doc = " @param lst List to append to"]
9850 #[doc = " @param bsf_name Name of the bitstream filter"]
9851 #[doc = " @param options Options for the bitstream filter, can be set to NULL"]
9852 #[doc = ""]
9853 #[doc = " @return >=0 on success, negative AVERROR in case of failure"]
9854 pub fn av_bsf_list_append2(
9855 lst: *mut AVBSFList,
9856 bsf_name: *const ::std::os::raw::c_char,
9857 options: *mut *mut AVDictionary,
9858 ) -> ::std::os::raw::c_int;
9859}
9860extern "C" {
9861 #[doc = " Finalize list of bitstream filters."]
9862 #[doc = ""]
9863 #[doc = " This function will transform @ref AVBSFList to single @ref AVBSFContext,"]
9864 #[doc = " so the whole chain of bitstream filters can be treated as single filter"]
9865 #[doc = " freshly allocated by av_bsf_alloc()."]
9866 #[doc = " If the call is successful, @ref AVBSFList structure is freed and lst"]
9867 #[doc = " will be set to NULL. In case of failure, caller is responsible for"]
9868 #[doc = " freeing the structure by av_bsf_list_free()"]
9869 #[doc = ""]
9870 #[doc = " @param lst Filter list structure to be transformed"]
9871 #[doc = " @param[out] bsf Pointer to be set to newly created @ref AVBSFContext structure"]
9872 #[doc = " representing the chain of bitstream filters"]
9873 #[doc = ""]
9874 #[doc = " @return >=0 on success, negative AVERROR in case of failure"]
9875 pub fn av_bsf_list_finalize(
9876 lst: *mut *mut AVBSFList,
9877 bsf: *mut *mut AVBSFContext,
9878 ) -> ::std::os::raw::c_int;
9879}
9880extern "C" {
9881 #[doc = " Parse string describing list of bitstream filters and create single"]
9882 #[doc = " @ref AVBSFContext describing the whole chain of bitstream filters."]
9883 #[doc = " Resulting @ref AVBSFContext can be treated as any other @ref AVBSFContext freshly"]
9884 #[doc = " allocated by av_bsf_alloc()."]
9885 #[doc = ""]
9886 #[doc = " @param str String describing chain of bitstream filters in format"]
9887 #[doc = " `bsf1[=opt1=val1:opt2=val2][,bsf2]`"]
9888 #[doc = " @param[out] bsf Pointer to be set to newly created @ref AVBSFContext structure"]
9889 #[doc = " representing the chain of bitstream filters"]
9890 #[doc = ""]
9891 #[doc = " @return >=0 on success, negative AVERROR in case of failure"]
9892 pub fn av_bsf_list_parse_str(
9893 str: *const ::std::os::raw::c_char,
9894 bsf: *mut *mut AVBSFContext,
9895 ) -> ::std::os::raw::c_int;
9896}
9897extern "C" {
9898 #[doc = " Get null/pass-through bitstream filter."]
9899 #[doc = ""]
9900 #[doc = " @param[out] bsf Pointer to be set to new instance of pass-through bitstream filter"]
9901 #[doc = ""]
9902 #[doc = " @return"]
9903 pub fn av_bsf_get_null_filter(bsf: *mut *mut AVBSFContext) -> ::std::os::raw::c_int;
9904}
9905extern "C" {
9906 #[doc = " Same behaviour av_fast_malloc but the buffer has additional"]
9907 #[doc = " AV_INPUT_BUFFER_PADDING_SIZE at the end which will always be 0."]
9908 #[doc = ""]
9909 #[doc = " In addition the whole buffer will initially and after resizes"]
9910 #[doc = " be 0-initialized so that no uninitialized data will ever appear."]
9911 pub fn av_fast_padded_malloc(
9912 ptr: *mut ::std::os::raw::c_void,
9913 size: *mut ::std::os::raw::c_uint,
9914 min_size: usize,
9915 );
9916}
9917extern "C" {
9918 #[doc = " Same behaviour av_fast_padded_malloc except that buffer will always"]
9919 #[doc = " be 0-initialized after call."]
9920 pub fn av_fast_padded_mallocz(
9921 ptr: *mut ::std::os::raw::c_void,
9922 size: *mut ::std::os::raw::c_uint,
9923 min_size: usize,
9924 );
9925}
9926extern "C" {
9927 #[doc = " Encode extradata length to a buffer. Used by xiph codecs."]
9928 #[doc = ""]
9929 #[doc = " @param s buffer to write to; must be at least (v/255+1) bytes long"]
9930 #[doc = " @param v size of extradata in bytes"]
9931 #[doc = " @return number of bytes written to the buffer."]
9932 pub fn av_xiphlacing(
9933 s: *mut ::std::os::raw::c_uchar,
9934 v: ::std::os::raw::c_uint,
9935 ) -> ::std::os::raw::c_uint;
9936}
9937extern "C" {
9938 #[doc = " Register the hardware accelerator hwaccel."]
9939 #[doc = ""]
9940 #[doc = " @deprecated This function doesn\'t do anything."]
9941 pub fn av_register_hwaccel(hwaccel: *mut AVHWAccel);
9942}
9943extern "C" {
9944 #[doc = " If hwaccel is NULL, returns the first registered hardware accelerator,"]
9945 #[doc = " if hwaccel is non-NULL, returns the next registered hardware accelerator"]
9946 #[doc = " after hwaccel, or NULL if hwaccel is the last one."]
9947 #[doc = ""]
9948 #[doc = " @deprecated AVHWaccel structures contain no user-serviceable parts, so"]
9949 #[doc = " this function should not be used."]
9950 pub fn av_hwaccel_next(hwaccel: *const AVHWAccel) -> *mut AVHWAccel;
9951}
9952#[doc = "< Create a mutex"]
9953pub const AVLockOp_AV_LOCK_CREATE: AVLockOp = 0;
9954#[doc = "< Lock the mutex"]
9955pub const AVLockOp_AV_LOCK_OBTAIN: AVLockOp = 1;
9956#[doc = "< Unlock the mutex"]
9957pub const AVLockOp_AV_LOCK_RELEASE: AVLockOp = 2;
9958#[doc = "< Free mutex resources"]
9959pub const AVLockOp_AV_LOCK_DESTROY: AVLockOp = 3;
9960#[doc = " Lock operation used by lockmgr"]
9961#[doc = ""]
9962#[doc = " @deprecated Deprecated together with av_lockmgr_register()."]
9963pub type AVLockOp = u32;
9964extern "C" {
9965 #[doc = " Register a user provided lock manager supporting the operations"]
9966 #[doc = " specified by AVLockOp. The \"mutex\" argument to the function points"]
9967 #[doc = " to a (void *) where the lockmgr should store/get a pointer to a user"]
9968 #[doc = " allocated mutex. It is NULL upon AV_LOCK_CREATE and equal to the"]
9969 #[doc = " value left by the last call for all other ops. If the lock manager is"]
9970 #[doc = " unable to perform the op then it should leave the mutex in the same"]
9971 #[doc = " state as when it was called and return a non-zero value. However,"]
9972 #[doc = " when called with AV_LOCK_DESTROY the mutex will always be assumed to"]
9973 #[doc = " have been successfully destroyed. If av_lockmgr_register succeeds"]
9974 #[doc = " it will return a non-negative value, if it fails it will return a"]
9975 #[doc = " negative value and destroy all mutex and unregister all callbacks."]
9976 #[doc = " av_lockmgr_register is not thread-safe, it must be called from a"]
9977 #[doc = " single thread before any calls which make use of locking are used."]
9978 #[doc = ""]
9979 #[doc = " @param cb User defined callback. av_lockmgr_register invokes calls"]
9980 #[doc = " to this callback and the previously registered callback."]
9981 #[doc = " The callback will be used to create more than one mutex"]
9982 #[doc = " each of which must be backed by its own underlying locking"]
9983 #[doc = " mechanism (i.e. do not use a single static object to"]
9984 #[doc = " implement your lock manager). If cb is set to NULL the"]
9985 #[doc = " lockmgr will be unregistered."]
9986 #[doc = ""]
9987 #[doc = " @deprecated This function does nothing, and always returns 0. Be sure to"]
9988 #[doc = " build with thread support to get basic thread safety."]
9989 pub fn av_lockmgr_register(
9990 cb: ::std::option::Option<
9991 unsafe extern "C" fn(
9992 cb: *mut *mut ::std::os::raw::c_void,
9993 arg1: AVLockOp,
9994 ) -> ::std::os::raw::c_int,
9995 >,
9996 ) -> ::std::os::raw::c_int;
9997}
9998extern "C" {
9999 #[doc = " Get the type of the given codec."]
10000 pub fn avcodec_get_type(codec_id: AVCodecID) -> AVMediaType;
10001}
10002extern "C" {
10003 #[doc = " Get the name of a codec."]
10004 #[doc = " @return a static string identifying the codec; never NULL"]
10005 pub fn avcodec_get_name(id: AVCodecID) -> *const ::std::os::raw::c_char;
10006}
10007extern "C" {
10008 #[doc = " @return a positive value if s is open (i.e. avcodec_open2() was called on it"]
10009 #[doc = " with no corresponding avcodec_close()), 0 otherwise."]
10010 pub fn avcodec_is_open(s: *mut AVCodecContext) -> ::std::os::raw::c_int;
10011}
10012extern "C" {
10013 #[doc = " @return a non-zero number if codec is an encoder, zero otherwise"]
10014 pub fn av_codec_is_encoder(codec: *const AVCodec) -> ::std::os::raw::c_int;
10015}
10016extern "C" {
10017 #[doc = " @return a non-zero number if codec is a decoder, zero otherwise"]
10018 pub fn av_codec_is_decoder(codec: *const AVCodec) -> ::std::os::raw::c_int;
10019}
10020extern "C" {
10021 #[doc = " @return descriptor for given codec ID or NULL if no descriptor exists."]
10022 pub fn avcodec_descriptor_get(id: AVCodecID) -> *const AVCodecDescriptor;
10023}
10024extern "C" {
10025 #[doc = " Iterate over all codec descriptors known to libavcodec."]
10026 #[doc = ""]
10027 #[doc = " @param prev previous descriptor. NULL to get the first descriptor."]
10028 #[doc = ""]
10029 #[doc = " @return next descriptor or NULL after the last descriptor"]
10030 pub fn avcodec_descriptor_next(prev: *const AVCodecDescriptor) -> *const AVCodecDescriptor;
10031}
10032extern "C" {
10033 #[doc = " @return codec descriptor with the given name or NULL if no such descriptor"]
10034 #[doc = " exists."]
10035 pub fn avcodec_descriptor_get_by_name(
10036 name: *const ::std::os::raw::c_char,
10037 ) -> *const AVCodecDescriptor;
10038}
10039extern "C" {
10040 #[doc = " Allocate a CPB properties structure and initialize its fields to default"]
10041 #[doc = " values."]
10042 #[doc = ""]
10043 #[doc = " @param size if non-NULL, the size of the allocated struct will be written"]
10044 #[doc = " here. This is useful for embedding it in side data."]
10045 #[doc = ""]
10046 #[doc = " @return the newly allocated struct or NULL on failure"]
10047 pub fn av_cpb_properties_alloc(size: *mut usize) -> *mut AVCPBProperties;
10048}
10049pub type __builtin_va_list = [__va_list_tag; 1usize];
10050#[repr(C)]
10051#[derive(Debug, Copy, Clone)]
10052pub struct __va_list_tag {
10053 pub gp_offset: ::std::os::raw::c_uint,
10054 pub fp_offset: ::std::os::raw::c_uint,
10055 pub overflow_arg_area: *mut ::std::os::raw::c_void,
10056 pub reg_save_area: *mut ::std::os::raw::c_void,
10057}
10058#[repr(C)]
10059#[derive(Debug, Copy, Clone)]
10060pub struct __locale_data {
10061 pub _address: u8,
10062}
10063#[repr(C)]
10064#[derive(Debug, Copy, Clone)]
10065pub struct AVOption {
10066 pub _address: u8,
10067}
10068#[doc = " Array of pointers to hardware configurations supported by the codec,"]
10069#[doc = " or NULL if no hardware supported. The array is terminated by a NULL"]
10070#[doc = " pointer."]
10071#[doc = ""]
10072#[doc = " The user can only access this field via avcodec_get_hw_config()."]
10073#[repr(C)]
10074#[derive(Debug, Copy, Clone)]
10075pub struct AVCodecHWConfigInternal {
10076 pub _address: u8,
10077}