ffmpeg/workspace/docs/target/debug/build/ffmpeg-7fedc41e2993791d/out/
bindings.rs

1/* automatically generated by rust-bindgen 0.63.0 */
2
3pub const AV_TIME_BASE: u32 = 1000000;
4pub const AV_HAVE_BIGENDIAN: u32 = 0;
5pub const AV_HAVE_FAST_UNALIGNED: u32 = 1;
6pub const AVERROR_EXPERIMENTAL: i32 = -733130664;
7pub const AVERROR_INPUT_CHANGED: i32 = -1668179713;
8pub const AVERROR_OUTPUT_CHANGED: i32 = -1668179714;
9pub const AV_ERROR_MAX_STRING_SIZE: u32 = 64;
10pub const AV_LOG_QUIET: i32 = -8;
11pub const AV_LOG_PANIC: u32 = 0;
12pub const AV_LOG_FATAL: u32 = 8;
13pub const AV_LOG_ERROR: u32 = 16;
14pub const AV_LOG_WARNING: u32 = 24;
15pub const AV_LOG_INFO: u32 = 32;
16pub const AV_LOG_VERBOSE: u32 = 40;
17pub const AV_LOG_DEBUG: u32 = 48;
18pub const AV_LOG_TRACE: u32 = 56;
19pub const AV_LOG_MAX_OFFSET: u32 = 64;
20pub const AV_LOG_SKIP_REPEATED: u32 = 1;
21pub const AV_LOG_PRINT_LEVEL: u32 = 2;
22pub const AV_VIDEO_MAX_PLANES: u32 = 4;
23pub const AV_FOURCC_MAX_STRING_SIZE: u32 = 32;
24pub const AV_BUFFER_FLAG_READONLY: u32 = 1;
25pub const AV_CHANNEL_LAYOUT_RETYPE_FLAG_LOSSLESS: u32 = 1;
26pub const AV_CHANNEL_LAYOUT_RETYPE_FLAG_CANONICAL: u32 = 2;
27pub const AV_DICT_MATCH_CASE: u32 = 1;
28pub const AV_DICT_IGNORE_SUFFIX: u32 = 2;
29pub const AV_DICT_DONT_STRDUP_KEY: u32 = 4;
30pub const AV_DICT_DONT_STRDUP_VAL: u32 = 8;
31pub const AV_DICT_DONT_OVERWRITE: u32 = 16;
32pub const AV_DICT_APPEND: u32 = 32;
33pub const AV_DICT_MULTIKEY: u32 = 64;
34pub const AV_NUM_DATA_POINTERS: u32 = 8;
35pub const AV_FRAME_FLAG_CORRUPT: u32 = 1;
36pub const AV_FRAME_FLAG_KEY: u32 = 2;
37pub const AV_FRAME_FLAG_DISCARD: u32 = 4;
38pub const AV_FRAME_FLAG_INTERLACED: u32 = 8;
39pub const AV_FRAME_FLAG_TOP_FIELD_FIRST: u32 = 16;
40pub const AV_FRAME_SIDE_DATA_FLAG_UNIQUE: u32 = 1;
41pub const AV_FRAME_SIDE_DATA_FLAG_REPLACE: u32 = 2;
42pub const AV_CODEC_CAP_DRAW_HORIZ_BAND: u32 = 1;
43pub const AV_CODEC_CAP_DR1: u32 = 2;
44pub const AV_CODEC_CAP_DELAY: u32 = 32;
45pub const AV_CODEC_CAP_SMALL_LAST_FRAME: u32 = 64;
46pub const AV_CODEC_CAP_SUBFRAMES: u32 = 256;
47pub const AV_CODEC_CAP_EXPERIMENTAL: u32 = 512;
48pub const AV_CODEC_CAP_CHANNEL_CONF: u32 = 1024;
49pub const AV_CODEC_CAP_FRAME_THREADS: u32 = 4096;
50pub const AV_CODEC_CAP_SLICE_THREADS: u32 = 8192;
51pub const AV_CODEC_CAP_PARAM_CHANGE: u32 = 16384;
52pub const AV_CODEC_CAP_OTHER_THREADS: u32 = 32768;
53pub const AV_CODEC_CAP_VARIABLE_FRAME_SIZE: u32 = 65536;
54pub const AV_CODEC_CAP_AVOID_PROBING: u32 = 131072;
55pub const AV_CODEC_CAP_HARDWARE: u32 = 262144;
56pub const AV_CODEC_CAP_HYBRID: u32 = 524288;
57pub const AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE: u32 = 1048576;
58pub const AV_CODEC_CAP_ENCODER_FLUSH: u32 = 2097152;
59pub const AV_CODEC_CAP_ENCODER_RECON_FRAME: u32 = 4194304;
60pub const AV_INPUT_BUFFER_PADDING_SIZE: u32 = 64;
61pub const AV_EF_CRCCHECK: u32 = 1;
62pub const AV_EF_BITSTREAM: u32 = 2;
63pub const AV_EF_BUFFER: u32 = 4;
64pub const AV_EF_EXPLODE: u32 = 8;
65pub const AV_EF_IGNORE_ERR: u32 = 32768;
66pub const AV_EF_CAREFUL: u32 = 65536;
67pub const AV_EF_COMPLIANT: u32 = 131072;
68pub const AV_EF_AGGRESSIVE: u32 = 262144;
69pub const AV_PROFILE_UNKNOWN: i32 = -99;
70pub const AV_PROFILE_RESERVED: i32 = -100;
71pub const AV_PROFILE_AAC_MAIN: u32 = 0;
72pub const AV_PROFILE_AAC_LOW: u32 = 1;
73pub const AV_PROFILE_AAC_SSR: u32 = 2;
74pub const AV_PROFILE_AAC_LTP: u32 = 3;
75pub const AV_PROFILE_AAC_HE: u32 = 4;
76pub const AV_PROFILE_AAC_HE_V2: u32 = 28;
77pub const AV_PROFILE_AAC_LD: u32 = 22;
78pub const AV_PROFILE_AAC_ELD: u32 = 38;
79pub const AV_PROFILE_AAC_USAC: u32 = 41;
80pub const AV_PROFILE_MPEG2_AAC_LOW: u32 = 128;
81pub const AV_PROFILE_MPEG2_AAC_HE: u32 = 131;
82pub const AV_PROFILE_DNXHD: u32 = 0;
83pub const AV_PROFILE_DNXHR_LB: u32 = 1;
84pub const AV_PROFILE_DNXHR_SQ: u32 = 2;
85pub const AV_PROFILE_DNXHR_HQ: u32 = 3;
86pub const AV_PROFILE_DNXHR_HQX: u32 = 4;
87pub const AV_PROFILE_DNXHR_444: u32 = 5;
88pub const AV_PROFILE_DTS: u32 = 20;
89pub const AV_PROFILE_DTS_ES: u32 = 30;
90pub const AV_PROFILE_DTS_96_24: u32 = 40;
91pub const AV_PROFILE_DTS_HD_HRA: u32 = 50;
92pub const AV_PROFILE_DTS_HD_MA: u32 = 60;
93pub const AV_PROFILE_DTS_EXPRESS: u32 = 70;
94pub const AV_PROFILE_DTS_HD_MA_X: u32 = 61;
95pub const AV_PROFILE_DTS_HD_MA_X_IMAX: u32 = 62;
96pub const AV_PROFILE_EAC3_DDP_ATMOS: u32 = 30;
97pub const AV_PROFILE_TRUEHD_ATMOS: u32 = 30;
98pub const AV_PROFILE_MPEG2_422: u32 = 0;
99pub const AV_PROFILE_MPEG2_HIGH: u32 = 1;
100pub const AV_PROFILE_MPEG2_SS: u32 = 2;
101pub const AV_PROFILE_MPEG2_SNR_SCALABLE: u32 = 3;
102pub const AV_PROFILE_MPEG2_MAIN: u32 = 4;
103pub const AV_PROFILE_MPEG2_SIMPLE: u32 = 5;
104pub const AV_PROFILE_H264_CONSTRAINED: u32 = 512;
105pub const AV_PROFILE_H264_INTRA: u32 = 2048;
106pub const AV_PROFILE_H264_BASELINE: u32 = 66;
107pub const AV_PROFILE_H264_CONSTRAINED_BASELINE: u32 = 578;
108pub const AV_PROFILE_H264_MAIN: u32 = 77;
109pub const AV_PROFILE_H264_EXTENDED: u32 = 88;
110pub const AV_PROFILE_H264_HIGH: u32 = 100;
111pub const AV_PROFILE_H264_HIGH_10: u32 = 110;
112pub const AV_PROFILE_H264_HIGH_10_INTRA: u32 = 2158;
113pub const AV_PROFILE_H264_MULTIVIEW_HIGH: u32 = 118;
114pub const AV_PROFILE_H264_HIGH_422: u32 = 122;
115pub const AV_PROFILE_H264_HIGH_422_INTRA: u32 = 2170;
116pub const AV_PROFILE_H264_STEREO_HIGH: u32 = 128;
117pub const AV_PROFILE_H264_HIGH_444: u32 = 144;
118pub const AV_PROFILE_H264_HIGH_444_PREDICTIVE: u32 = 244;
119pub const AV_PROFILE_H264_HIGH_444_INTRA: u32 = 2292;
120pub const AV_PROFILE_H264_CAVLC_444: u32 = 44;
121pub const AV_PROFILE_VC1_SIMPLE: u32 = 0;
122pub const AV_PROFILE_VC1_MAIN: u32 = 1;
123pub const AV_PROFILE_VC1_COMPLEX: u32 = 2;
124pub const AV_PROFILE_VC1_ADVANCED: u32 = 3;
125pub const AV_PROFILE_MPEG4_SIMPLE: u32 = 0;
126pub const AV_PROFILE_MPEG4_SIMPLE_SCALABLE: u32 = 1;
127pub const AV_PROFILE_MPEG4_CORE: u32 = 2;
128pub const AV_PROFILE_MPEG4_MAIN: u32 = 3;
129pub const AV_PROFILE_MPEG4_N_BIT: u32 = 4;
130pub const AV_PROFILE_MPEG4_SCALABLE_TEXTURE: u32 = 5;
131pub const AV_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION: u32 = 6;
132pub const AV_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE: u32 = 7;
133pub const AV_PROFILE_MPEG4_HYBRID: u32 = 8;
134pub const AV_PROFILE_MPEG4_ADVANCED_REAL_TIME: u32 = 9;
135pub const AV_PROFILE_MPEG4_CORE_SCALABLE: u32 = 10;
136pub const AV_PROFILE_MPEG4_ADVANCED_CODING: u32 = 11;
137pub const AV_PROFILE_MPEG4_ADVANCED_CORE: u32 = 12;
138pub const AV_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE: u32 = 13;
139pub const AV_PROFILE_MPEG4_SIMPLE_STUDIO: u32 = 14;
140pub const AV_PROFILE_MPEG4_ADVANCED_SIMPLE: u32 = 15;
141pub const AV_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0: u32 = 1;
142pub const AV_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1: u32 = 2;
143pub const AV_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION: u32 = 32768;
144pub const AV_PROFILE_JPEG2000_DCINEMA_2K: u32 = 3;
145pub const AV_PROFILE_JPEG2000_DCINEMA_4K: u32 = 4;
146pub const AV_PROFILE_VP9_0: u32 = 0;
147pub const AV_PROFILE_VP9_1: u32 = 1;
148pub const AV_PROFILE_VP9_2: u32 = 2;
149pub const AV_PROFILE_VP9_3: u32 = 3;
150pub const AV_PROFILE_HEVC_MAIN: u32 = 1;
151pub const AV_PROFILE_HEVC_MAIN_10: u32 = 2;
152pub const AV_PROFILE_HEVC_MAIN_STILL_PICTURE: u32 = 3;
153pub const AV_PROFILE_HEVC_REXT: u32 = 4;
154pub const AV_PROFILE_HEVC_MULTIVIEW_MAIN: u32 = 6;
155pub const AV_PROFILE_HEVC_SCC: u32 = 9;
156pub const AV_PROFILE_VVC_MAIN_10: u32 = 1;
157pub const AV_PROFILE_VVC_MAIN_10_444: u32 = 33;
158pub const AV_PROFILE_AV1_MAIN: u32 = 0;
159pub const AV_PROFILE_AV1_HIGH: u32 = 1;
160pub const AV_PROFILE_AV1_PROFESSIONAL: u32 = 2;
161pub const AV_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT: u32 = 192;
162pub const AV_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT: u32 = 193;
163pub const AV_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT: u32 = 194;
164pub const AV_PROFILE_MJPEG_HUFFMAN_LOSSLESS: u32 = 195;
165pub const AV_PROFILE_MJPEG_JPEG_LS: u32 = 247;
166pub const AV_PROFILE_SBC_MSBC: u32 = 1;
167pub const AV_PROFILE_PRORES_PROXY: u32 = 0;
168pub const AV_PROFILE_PRORES_LT: u32 = 1;
169pub const AV_PROFILE_PRORES_STANDARD: u32 = 2;
170pub const AV_PROFILE_PRORES_HQ: u32 = 3;
171pub const AV_PROFILE_PRORES_4444: u32 = 4;
172pub const AV_PROFILE_PRORES_XQ: u32 = 5;
173pub const AV_PROFILE_ARIB_PROFILE_A: u32 = 0;
174pub const AV_PROFILE_ARIB_PROFILE_C: u32 = 1;
175pub const AV_PROFILE_KLVA_SYNC: u32 = 0;
176pub const AV_PROFILE_KLVA_ASYNC: u32 = 1;
177pub const AV_PROFILE_EVC_BASELINE: u32 = 0;
178pub const AV_PROFILE_EVC_MAIN: u32 = 1;
179pub const AV_LEVEL_UNKNOWN: i32 = -99;
180pub const AV_PKT_FLAG_KEY: u32 = 1;
181pub const AV_PKT_FLAG_CORRUPT: u32 = 2;
182pub const AV_PKT_FLAG_DISCARD: u32 = 4;
183pub const AV_PKT_FLAG_TRUSTED: u32 = 8;
184pub const AV_PKT_FLAG_DISPOSABLE: u32 = 16;
185pub const AV_CODEC_PROP_INTRA_ONLY: u32 = 1;
186pub const AV_CODEC_PROP_LOSSY: u32 = 2;
187pub const AV_CODEC_PROP_LOSSLESS: u32 = 4;
188pub const AV_CODEC_PROP_REORDER: u32 = 8;
189pub const AV_CODEC_PROP_FIELDS: u32 = 16;
190pub const AV_CODEC_PROP_BITMAP_SUB: u32 = 65536;
191pub const AV_CODEC_PROP_TEXT_SUB: u32 = 131072;
192pub const AV_INPUT_BUFFER_MIN_SIZE: u32 = 16384;
193pub const AV_CODEC_FLAG_UNALIGNED: u32 = 1;
194pub const AV_CODEC_FLAG_QSCALE: u32 = 2;
195pub const AV_CODEC_FLAG_4MV: u32 = 4;
196pub const AV_CODEC_FLAG_OUTPUT_CORRUPT: u32 = 8;
197pub const AV_CODEC_FLAG_QPEL: u32 = 16;
198pub const AV_CODEC_FLAG_DROPCHANGED: u32 = 32;
199pub const AV_CODEC_FLAG_RECON_FRAME: u32 = 64;
200pub const AV_CODEC_FLAG_COPY_OPAQUE: u32 = 128;
201pub const AV_CODEC_FLAG_FRAME_DURATION: u32 = 256;
202pub const AV_CODEC_FLAG_PASS1: u32 = 512;
203pub const AV_CODEC_FLAG_PASS2: u32 = 1024;
204pub const AV_CODEC_FLAG_LOOP_FILTER: u32 = 2048;
205pub const AV_CODEC_FLAG_GRAY: u32 = 8192;
206pub const AV_CODEC_FLAG_PSNR: u32 = 32768;
207pub const AV_CODEC_FLAG_INTERLACED_DCT: u32 = 262144;
208pub const AV_CODEC_FLAG_LOW_DELAY: u32 = 524288;
209pub const AV_CODEC_FLAG_GLOBAL_HEADER: u32 = 4194304;
210pub const AV_CODEC_FLAG_BITEXACT: u32 = 8388608;
211pub const AV_CODEC_FLAG_AC_PRED: u32 = 16777216;
212pub const AV_CODEC_FLAG_INTERLACED_ME: u32 = 536870912;
213pub const AV_CODEC_FLAG_CLOSED_GOP: u32 = 2147483648;
214pub const AV_CODEC_FLAG2_FAST: u32 = 1;
215pub const AV_CODEC_FLAG2_NO_OUTPUT: u32 = 4;
216pub const AV_CODEC_FLAG2_LOCAL_HEADER: u32 = 8;
217pub const AV_CODEC_FLAG2_CHUNKS: u32 = 32768;
218pub const AV_CODEC_FLAG2_IGNORE_CROP: u32 = 65536;
219pub const AV_CODEC_FLAG2_SHOW_ALL: u32 = 4194304;
220pub const AV_CODEC_FLAG2_EXPORT_MVS: u32 = 268435456;
221pub const AV_CODEC_FLAG2_SKIP_MANUAL: u32 = 536870912;
222pub const AV_CODEC_FLAG2_RO_FLUSH_NOOP: u32 = 1073741824;
223pub const AV_CODEC_FLAG2_ICC_PROFILES: u32 = 2147483648;
224pub const AV_CODEC_EXPORT_DATA_MVS: u32 = 1;
225pub const AV_CODEC_EXPORT_DATA_PRFT: u32 = 2;
226pub const AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS: u32 = 4;
227pub const AV_CODEC_EXPORT_DATA_FILM_GRAIN: u32 = 8;
228pub const AV_CODEC_EXPORT_DATA_ENHANCEMENTS: u32 = 16;
229pub const AV_GET_BUFFER_FLAG_REF: u32 = 1;
230pub const AV_GET_ENCODE_BUFFER_FLAG_REF: u32 = 1;
231pub const FF_PROFILE_UNKNOWN: i32 = -99;
232pub const FF_PROFILE_RESERVED: i32 = -100;
233pub const FF_PROFILE_AAC_MAIN: u32 = 0;
234pub const FF_PROFILE_AAC_LOW: u32 = 1;
235pub const FF_PROFILE_AAC_SSR: u32 = 2;
236pub const FF_PROFILE_AAC_LTP: u32 = 3;
237pub const FF_PROFILE_AAC_HE: u32 = 4;
238pub const FF_PROFILE_AAC_HE_V2: u32 = 28;
239pub const FF_PROFILE_AAC_LD: u32 = 22;
240pub const FF_PROFILE_AAC_ELD: u32 = 38;
241pub const FF_PROFILE_MPEG2_AAC_LOW: u32 = 128;
242pub const FF_PROFILE_MPEG2_AAC_HE: u32 = 131;
243pub const FF_PROFILE_DNXHD: u32 = 0;
244pub const FF_PROFILE_DNXHR_LB: u32 = 1;
245pub const FF_PROFILE_DNXHR_SQ: u32 = 2;
246pub const FF_PROFILE_DNXHR_HQ: u32 = 3;
247pub const FF_PROFILE_DNXHR_HQX: u32 = 4;
248pub const FF_PROFILE_DNXHR_444: u32 = 5;
249pub const FF_PROFILE_DTS: u32 = 20;
250pub const FF_PROFILE_DTS_ES: u32 = 30;
251pub const FF_PROFILE_DTS_96_24: u32 = 40;
252pub const FF_PROFILE_DTS_HD_HRA: u32 = 50;
253pub const FF_PROFILE_DTS_HD_MA: u32 = 60;
254pub const FF_PROFILE_DTS_EXPRESS: u32 = 70;
255pub const FF_PROFILE_DTS_HD_MA_X: u32 = 61;
256pub const FF_PROFILE_DTS_HD_MA_X_IMAX: u32 = 62;
257pub const FF_PROFILE_EAC3_DDP_ATMOS: u32 = 30;
258pub const FF_PROFILE_TRUEHD_ATMOS: u32 = 30;
259pub const FF_PROFILE_MPEG2_422: u32 = 0;
260pub const FF_PROFILE_MPEG2_HIGH: u32 = 1;
261pub const FF_PROFILE_MPEG2_SS: u32 = 2;
262pub const FF_PROFILE_MPEG2_SNR_SCALABLE: u32 = 3;
263pub const FF_PROFILE_MPEG2_MAIN: u32 = 4;
264pub const FF_PROFILE_MPEG2_SIMPLE: u32 = 5;
265pub const FF_PROFILE_H264_CONSTRAINED: u32 = 512;
266pub const FF_PROFILE_H264_INTRA: u32 = 2048;
267pub const FF_PROFILE_H264_BASELINE: u32 = 66;
268pub const FF_PROFILE_H264_CONSTRAINED_BASELINE: u32 = 578;
269pub const FF_PROFILE_H264_MAIN: u32 = 77;
270pub const FF_PROFILE_H264_EXTENDED: u32 = 88;
271pub const FF_PROFILE_H264_HIGH: u32 = 100;
272pub const FF_PROFILE_H264_HIGH_10: u32 = 110;
273pub const FF_PROFILE_H264_HIGH_10_INTRA: u32 = 2158;
274pub const FF_PROFILE_H264_MULTIVIEW_HIGH: u32 = 118;
275pub const FF_PROFILE_H264_HIGH_422: u32 = 122;
276pub const FF_PROFILE_H264_HIGH_422_INTRA: u32 = 2170;
277pub const FF_PROFILE_H264_STEREO_HIGH: u32 = 128;
278pub const FF_PROFILE_H264_HIGH_444: u32 = 144;
279pub const FF_PROFILE_H264_HIGH_444_PREDICTIVE: u32 = 244;
280pub const FF_PROFILE_H264_HIGH_444_INTRA: u32 = 2292;
281pub const FF_PROFILE_H264_CAVLC_444: u32 = 44;
282pub const FF_PROFILE_VC1_SIMPLE: u32 = 0;
283pub const FF_PROFILE_VC1_MAIN: u32 = 1;
284pub const FF_PROFILE_VC1_COMPLEX: u32 = 2;
285pub const FF_PROFILE_VC1_ADVANCED: u32 = 3;
286pub const FF_PROFILE_MPEG4_SIMPLE: u32 = 0;
287pub const FF_PROFILE_MPEG4_SIMPLE_SCALABLE: u32 = 1;
288pub const FF_PROFILE_MPEG4_CORE: u32 = 2;
289pub const FF_PROFILE_MPEG4_MAIN: u32 = 3;
290pub const FF_PROFILE_MPEG4_N_BIT: u32 = 4;
291pub const FF_PROFILE_MPEG4_SCALABLE_TEXTURE: u32 = 5;
292pub const FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION: u32 = 6;
293pub const FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE: u32 = 7;
294pub const FF_PROFILE_MPEG4_HYBRID: u32 = 8;
295pub const FF_PROFILE_MPEG4_ADVANCED_REAL_TIME: u32 = 9;
296pub const FF_PROFILE_MPEG4_CORE_SCALABLE: u32 = 10;
297pub const FF_PROFILE_MPEG4_ADVANCED_CODING: u32 = 11;
298pub const FF_PROFILE_MPEG4_ADVANCED_CORE: u32 = 12;
299pub const FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE: u32 = 13;
300pub const FF_PROFILE_MPEG4_SIMPLE_STUDIO: u32 = 14;
301pub const FF_PROFILE_MPEG4_ADVANCED_SIMPLE: u32 = 15;
302pub const FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0: u32 = 1;
303pub const FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1: u32 = 2;
304pub const FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION: u32 = 32768;
305pub const FF_PROFILE_JPEG2000_DCINEMA_2K: u32 = 3;
306pub const FF_PROFILE_JPEG2000_DCINEMA_4K: u32 = 4;
307pub const FF_PROFILE_VP9_0: u32 = 0;
308pub const FF_PROFILE_VP9_1: u32 = 1;
309pub const FF_PROFILE_VP9_2: u32 = 2;
310pub const FF_PROFILE_VP9_3: u32 = 3;
311pub const FF_PROFILE_HEVC_MAIN: u32 = 1;
312pub const FF_PROFILE_HEVC_MAIN_10: u32 = 2;
313pub const FF_PROFILE_HEVC_MAIN_STILL_PICTURE: u32 = 3;
314pub const FF_PROFILE_HEVC_REXT: u32 = 4;
315pub const FF_PROFILE_HEVC_SCC: u32 = 9;
316pub const FF_PROFILE_VVC_MAIN_10: u32 = 1;
317pub const FF_PROFILE_VVC_MAIN_10_444: u32 = 33;
318pub const FF_PROFILE_AV1_MAIN: u32 = 0;
319pub const FF_PROFILE_AV1_HIGH: u32 = 1;
320pub const FF_PROFILE_AV1_PROFESSIONAL: u32 = 2;
321pub const FF_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT: u32 = 192;
322pub const FF_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT: u32 = 193;
323pub const FF_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT: u32 = 194;
324pub const FF_PROFILE_MJPEG_HUFFMAN_LOSSLESS: u32 = 195;
325pub const FF_PROFILE_MJPEG_JPEG_LS: u32 = 247;
326pub const FF_PROFILE_SBC_MSBC: u32 = 1;
327pub const FF_PROFILE_PRORES_PROXY: u32 = 0;
328pub const FF_PROFILE_PRORES_LT: u32 = 1;
329pub const FF_PROFILE_PRORES_STANDARD: u32 = 2;
330pub const FF_PROFILE_PRORES_HQ: u32 = 3;
331pub const FF_PROFILE_PRORES_4444: u32 = 4;
332pub const FF_PROFILE_PRORES_XQ: u32 = 5;
333pub const FF_PROFILE_ARIB_PROFILE_A: u32 = 0;
334pub const FF_PROFILE_ARIB_PROFILE_C: u32 = 1;
335pub const FF_PROFILE_KLVA_SYNC: u32 = 0;
336pub const FF_PROFILE_KLVA_ASYNC: u32 = 1;
337pub const FF_PROFILE_EVC_BASELINE: u32 = 0;
338pub const FF_PROFILE_EVC_MAIN: u32 = 1;
339pub const AV_HWACCEL_CODEC_CAP_EXPERIMENTAL: u32 = 512;
340pub const AV_HWACCEL_FLAG_IGNORE_LEVEL: u32 = 1;
341pub const AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH: u32 = 2;
342pub const AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH: u32 = 4;
343pub const AV_HWACCEL_FLAG_UNSAFE_OUTPUT: u32 = 8;
344pub const AV_SUBTITLE_FLAG_FORCED: u32 = 1;
345pub const AV_PARSER_PTS_NB: u32 = 4;
346pub const AV_CPU_FLAG_FORCE: u32 = 2147483648;
347pub const AV_CPU_FLAG_MMX: u32 = 1;
348pub const AV_CPU_FLAG_MMXEXT: u32 = 2;
349pub const AV_CPU_FLAG_MMX2: u32 = 2;
350pub const AV_CPU_FLAG_3DNOW: u32 = 4;
351pub const AV_CPU_FLAG_SSE: u32 = 8;
352pub const AV_CPU_FLAG_SSE2: u32 = 16;
353pub const AV_CPU_FLAG_SSE2SLOW: u32 = 1073741824;
354pub const AV_CPU_FLAG_3DNOWEXT: u32 = 32;
355pub const AV_CPU_FLAG_SSE3: u32 = 64;
356pub const AV_CPU_FLAG_SSE3SLOW: u32 = 536870912;
357pub const AV_CPU_FLAG_SSSE3: u32 = 128;
358pub const AV_CPU_FLAG_SSSE3SLOW: u32 = 67108864;
359pub const AV_CPU_FLAG_ATOM: u32 = 268435456;
360pub const AV_CPU_FLAG_SSE4: u32 = 256;
361pub const AV_CPU_FLAG_SSE42: u32 = 512;
362pub const AV_CPU_FLAG_AESNI: u32 = 524288;
363pub const AV_CPU_FLAG_AVX: u32 = 16384;
364pub const AV_CPU_FLAG_AVXSLOW: u32 = 134217728;
365pub const AV_CPU_FLAG_XOP: u32 = 1024;
366pub const AV_CPU_FLAG_FMA4: u32 = 2048;
367pub const AV_CPU_FLAG_CMOV: u32 = 4096;
368pub const AV_CPU_FLAG_AVX2: u32 = 32768;
369pub const AV_CPU_FLAG_FMA3: u32 = 65536;
370pub const AV_CPU_FLAG_BMI1: u32 = 131072;
371pub const AV_CPU_FLAG_BMI2: u32 = 262144;
372pub const AV_CPU_FLAG_AVX512: u32 = 1048576;
373pub const AV_CPU_FLAG_AVX512ICL: u32 = 2097152;
374pub const AV_CPU_FLAG_SLOW_GATHER: u32 = 33554432;
375pub const AV_CPU_FLAG_ALTIVEC: u32 = 1;
376pub const AV_CPU_FLAG_VSX: u32 = 2;
377pub const AV_CPU_FLAG_POWER8: u32 = 4;
378pub const AV_CPU_FLAG_ARMV5TE: u32 = 1;
379pub const AV_CPU_FLAG_ARMV6: u32 = 2;
380pub const AV_CPU_FLAG_ARMV6T2: u32 = 4;
381pub const AV_CPU_FLAG_VFP: u32 = 8;
382pub const AV_CPU_FLAG_VFPV3: u32 = 16;
383pub const AV_CPU_FLAG_NEON: u32 = 32;
384pub const AV_CPU_FLAG_ARMV8: u32 = 64;
385pub const AV_CPU_FLAG_VFP_VM: u32 = 128;
386pub const AV_CPU_FLAG_DOTPROD: u32 = 256;
387pub const AV_CPU_FLAG_I8MM: u32 = 512;
388pub const AV_CPU_FLAG_SETEND: u32 = 65536;
389pub const AV_CPU_FLAG_MMI: u32 = 1;
390pub const AV_CPU_FLAG_MSA: u32 = 2;
391pub const AV_CPU_FLAG_LSX: u32 = 1;
392pub const AV_CPU_FLAG_LASX: u32 = 2;
393pub const AV_CPU_FLAG_RVI: u32 = 1;
394pub const AV_CPU_FLAG_RVF: u32 = 2;
395pub const AV_CPU_FLAG_RVD: u32 = 4;
396pub const AV_CPU_FLAG_RVV_I32: u32 = 8;
397pub const AV_CPU_FLAG_RVV_F32: u32 = 16;
398pub const AV_CPU_FLAG_RVV_I64: u32 = 32;
399pub const AV_CPU_FLAG_RVV_F64: u32 = 64;
400pub const AV_CPU_FLAG_RVB_BASIC: u32 = 128;
401pub const AV_CPU_FLAG_RVB_ADDR: u32 = 256;
402pub const AV_CPU_FLAG_RV_ZVBB: u32 = 512;
403pub const AV_CPU_FLAG_RV_MISALIGNED: u32 = 1024;
404pub const AV_CPU_FLAG_RVB: u32 = 2048;
405pub const AV_PIX_FMT_FLAG_BE: u32 = 1;
406pub const AV_PIX_FMT_FLAG_PAL: u32 = 2;
407pub const AV_PIX_FMT_FLAG_BITSTREAM: u32 = 4;
408pub const AV_PIX_FMT_FLAG_HWACCEL: u32 = 8;
409pub const AV_PIX_FMT_FLAG_PLANAR: u32 = 16;
410pub const AV_PIX_FMT_FLAG_RGB: u32 = 32;
411pub const AV_PIX_FMT_FLAG_ALPHA: u32 = 128;
412pub const AV_PIX_FMT_FLAG_BAYER: u32 = 256;
413pub const AV_PIX_FMT_FLAG_FLOAT: u32 = 512;
414pub const AV_PIX_FMT_FLAG_XYZ: u32 = 1024;
415pub const AVSampleFormat_AV_SAMPLE_FMT_NONE: AVSampleFormat = -1;
416pub const AVSampleFormat_AV_SAMPLE_FMT_U8: AVSampleFormat = 0;
417pub const AVSampleFormat_AV_SAMPLE_FMT_S16: AVSampleFormat = 1;
418pub const AVSampleFormat_AV_SAMPLE_FMT_S32: AVSampleFormat = 2;
419pub const AVSampleFormat_AV_SAMPLE_FMT_FLT: AVSampleFormat = 3;
420pub const AVSampleFormat_AV_SAMPLE_FMT_DBL: AVSampleFormat = 4;
421pub const AVSampleFormat_AV_SAMPLE_FMT_U8P: AVSampleFormat = 5;
422pub const AVSampleFormat_AV_SAMPLE_FMT_S16P: AVSampleFormat = 6;
423pub const AVSampleFormat_AV_SAMPLE_FMT_S32P: AVSampleFormat = 7;
424pub const AVSampleFormat_AV_SAMPLE_FMT_FLTP: AVSampleFormat = 8;
425pub const AVSampleFormat_AV_SAMPLE_FMT_DBLP: AVSampleFormat = 9;
426pub const AVSampleFormat_AV_SAMPLE_FMT_S64: AVSampleFormat = 10;
427pub const AVSampleFormat_AV_SAMPLE_FMT_S64P: AVSampleFormat = 11;
428pub const AVSampleFormat_AV_SAMPLE_FMT_NB: AVSampleFormat = 12;
429pub type AVSampleFormat = ::std::os::raw::c_int;
430extern "C" {
431    pub fn av_get_sample_fmt_name(sample_fmt: AVSampleFormat) -> *const ::std::os::raw::c_char;
432}
433extern "C" {
434    pub fn av_get_sample_fmt(name: *const ::std::os::raw::c_char) -> AVSampleFormat;
435}
436extern "C" {
437    pub fn av_get_alt_sample_fmt(
438        sample_fmt: AVSampleFormat,
439        planar: ::std::os::raw::c_int,
440    ) -> AVSampleFormat;
441}
442extern "C" {
443    pub fn av_get_packed_sample_fmt(sample_fmt: AVSampleFormat) -> AVSampleFormat;
444}
445extern "C" {
446    pub fn av_get_planar_sample_fmt(sample_fmt: AVSampleFormat) -> AVSampleFormat;
447}
448extern "C" {
449    pub fn av_get_sample_fmt_string(
450        buf: *mut ::std::os::raw::c_char,
451        buf_size: ::std::os::raw::c_int,
452        sample_fmt: AVSampleFormat,
453    ) -> *mut ::std::os::raw::c_char;
454}
455extern "C" {
456    pub fn av_get_bytes_per_sample(sample_fmt: AVSampleFormat) -> ::std::os::raw::c_int;
457}
458extern "C" {
459    pub fn av_sample_fmt_is_planar(sample_fmt: AVSampleFormat) -> ::std::os::raw::c_int;
460}
461extern "C" {
462    pub fn av_samples_get_buffer_size(
463        linesize: *mut ::std::os::raw::c_int,
464        nb_channels: ::std::os::raw::c_int,
465        nb_samples: ::std::os::raw::c_int,
466        sample_fmt: AVSampleFormat,
467        align: ::std::os::raw::c_int,
468    ) -> ::std::os::raw::c_int;
469}
470extern "C" {
471    pub fn av_samples_fill_arrays(
472        audio_data: *mut *mut u8,
473        linesize: *mut ::std::os::raw::c_int,
474        buf: *const u8,
475        nb_channels: ::std::os::raw::c_int,
476        nb_samples: ::std::os::raw::c_int,
477        sample_fmt: AVSampleFormat,
478        align: ::std::os::raw::c_int,
479    ) -> ::std::os::raw::c_int;
480}
481extern "C" {
482    pub fn av_samples_alloc(
483        audio_data: *mut *mut u8,
484        linesize: *mut ::std::os::raw::c_int,
485        nb_channels: ::std::os::raw::c_int,
486        nb_samples: ::std::os::raw::c_int,
487        sample_fmt: AVSampleFormat,
488        align: ::std::os::raw::c_int,
489    ) -> ::std::os::raw::c_int;
490}
491extern "C" {
492    pub fn av_samples_alloc_array_and_samples(
493        audio_data: *mut *mut *mut u8,
494        linesize: *mut ::std::os::raw::c_int,
495        nb_channels: ::std::os::raw::c_int,
496        nb_samples: ::std::os::raw::c_int,
497        sample_fmt: AVSampleFormat,
498        align: ::std::os::raw::c_int,
499    ) -> ::std::os::raw::c_int;
500}
501extern "C" {
502    pub fn av_samples_copy(
503        dst: *const *mut u8,
504        src: *const *mut u8,
505        dst_offset: ::std::os::raw::c_int,
506        src_offset: ::std::os::raw::c_int,
507        nb_samples: ::std::os::raw::c_int,
508        nb_channels: ::std::os::raw::c_int,
509        sample_fmt: AVSampleFormat,
510    ) -> ::std::os::raw::c_int;
511}
512extern "C" {
513    pub fn av_samples_set_silence(
514        audio_data: *const *mut u8,
515        offset: ::std::os::raw::c_int,
516        nb_samples: ::std::os::raw::c_int,
517        nb_channels: ::std::os::raw::c_int,
518        sample_fmt: AVSampleFormat,
519    ) -> ::std::os::raw::c_int;
520}
521extern "C" {
522    pub fn av_version_info() -> *const ::std::os::raw::c_char;
523}
524pub const AVMediaType_AVMEDIA_TYPE_UNKNOWN: AVMediaType = -1;
525pub const AVMediaType_AVMEDIA_TYPE_VIDEO: AVMediaType = 0;
526pub const AVMediaType_AVMEDIA_TYPE_AUDIO: AVMediaType = 1;
527pub const AVMediaType_AVMEDIA_TYPE_DATA: AVMediaType = 2;
528pub const AVMediaType_AVMEDIA_TYPE_SUBTITLE: AVMediaType = 3;
529pub const AVMediaType_AVMEDIA_TYPE_ATTACHMENT: AVMediaType = 4;
530pub const AVMediaType_AVMEDIA_TYPE_NB: AVMediaType = 5;
531pub type AVMediaType = ::std::os::raw::c_int;
532extern "C" {
533    pub fn av_get_media_type_string(media_type: AVMediaType) -> *const ::std::os::raw::c_char;
534}
535pub const AVPictureType_AV_PICTURE_TYPE_NONE: AVPictureType = 0;
536pub const AVPictureType_AV_PICTURE_TYPE_I: AVPictureType = 1;
537pub const AVPictureType_AV_PICTURE_TYPE_P: AVPictureType = 2;
538pub const AVPictureType_AV_PICTURE_TYPE_B: AVPictureType = 3;
539pub const AVPictureType_AV_PICTURE_TYPE_S: AVPictureType = 4;
540pub const AVPictureType_AV_PICTURE_TYPE_SI: AVPictureType = 5;
541pub const AVPictureType_AV_PICTURE_TYPE_SP: AVPictureType = 6;
542pub const AVPictureType_AV_PICTURE_TYPE_BI: AVPictureType = 7;
543pub type AVPictureType = ::std::os::raw::c_uint;
544extern "C" {
545    pub fn av_get_picture_type_char(pict_type: AVPictureType) -> ::std::os::raw::c_char;
546}
547extern "C" {
548    pub fn av_strerror(
549        errnum: ::std::os::raw::c_int,
550        errbuf: *mut ::std::os::raw::c_char,
551        errbuf_size: usize,
552    ) -> ::std::os::raw::c_int;
553}
554extern "C" {
555    pub fn av_malloc(size: usize) -> *mut ::std::os::raw::c_void;
556}
557extern "C" {
558    pub fn av_mallocz(size: usize) -> *mut ::std::os::raw::c_void;
559}
560extern "C" {
561    pub fn av_malloc_array(nmemb: usize, size: usize) -> *mut ::std::os::raw::c_void;
562}
563extern "C" {
564    pub fn av_calloc(nmemb: usize, size: usize) -> *mut ::std::os::raw::c_void;
565}
566extern "C" {
567    pub fn av_realloc(ptr: *mut ::std::os::raw::c_void, size: usize)
568        -> *mut ::std::os::raw::c_void;
569}
570extern "C" {
571    pub fn av_reallocp(ptr: *mut ::std::os::raw::c_void, size: usize) -> ::std::os::raw::c_int;
572}
573extern "C" {
574    pub fn av_realloc_f(
575        ptr: *mut ::std::os::raw::c_void,
576        nelem: usize,
577        elsize: usize,
578    ) -> *mut ::std::os::raw::c_void;
579}
580extern "C" {
581    pub fn av_realloc_array(
582        ptr: *mut ::std::os::raw::c_void,
583        nmemb: usize,
584        size: usize,
585    ) -> *mut ::std::os::raw::c_void;
586}
587extern "C" {
588    pub fn av_reallocp_array(
589        ptr: *mut ::std::os::raw::c_void,
590        nmemb: usize,
591        size: usize,
592    ) -> ::std::os::raw::c_int;
593}
594extern "C" {
595    pub fn av_fast_realloc(
596        ptr: *mut ::std::os::raw::c_void,
597        size: *mut ::std::os::raw::c_uint,
598        min_size: usize,
599    ) -> *mut ::std::os::raw::c_void;
600}
601extern "C" {
602    pub fn av_fast_malloc(
603        ptr: *mut ::std::os::raw::c_void,
604        size: *mut ::std::os::raw::c_uint,
605        min_size: usize,
606    );
607}
608extern "C" {
609    pub fn av_fast_mallocz(
610        ptr: *mut ::std::os::raw::c_void,
611        size: *mut ::std::os::raw::c_uint,
612        min_size: usize,
613    );
614}
615extern "C" {
616    pub fn av_free(ptr: *mut ::std::os::raw::c_void);
617}
618extern "C" {
619    pub fn av_freep(ptr: *mut ::std::os::raw::c_void);
620}
621extern "C" {
622    pub fn av_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
623}
624extern "C" {
625    pub fn av_strndup(s: *const ::std::os::raw::c_char, len: usize) -> *mut ::std::os::raw::c_char;
626}
627extern "C" {
628    pub fn av_memdup(p: *const ::std::os::raw::c_void, size: usize) -> *mut ::std::os::raw::c_void;
629}
630extern "C" {
631    pub fn av_memcpy_backptr(dst: *mut u8, back: ::std::os::raw::c_int, cnt: ::std::os::raw::c_int);
632}
633extern "C" {
634    pub fn av_dynarray_add(
635        tab_ptr: *mut ::std::os::raw::c_void,
636        nb_ptr: *mut ::std::os::raw::c_int,
637        elem: *mut ::std::os::raw::c_void,
638    );
639}
640extern "C" {
641    pub fn av_dynarray_add_nofree(
642        tab_ptr: *mut ::std::os::raw::c_void,
643        nb_ptr: *mut ::std::os::raw::c_int,
644        elem: *mut ::std::os::raw::c_void,
645    ) -> ::std::os::raw::c_int;
646}
647extern "C" {
648    pub fn av_dynarray2_add(
649        tab_ptr: *mut *mut ::std::os::raw::c_void,
650        nb_ptr: *mut ::std::os::raw::c_int,
651        elem_size: usize,
652        elem_data: *const u8,
653    ) -> *mut ::std::os::raw::c_void;
654}
655extern "C" {
656    pub fn av_size_mult(a: usize, b: usize, r: *mut usize) -> ::std::os::raw::c_int;
657}
658extern "C" {
659    pub fn av_max_alloc(max: usize);
660}
661extern "C" {
662    pub fn av_log2(v: ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
663}
664extern "C" {
665    pub fn av_log2_16bit(v: ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
666}
667#[repr(C)]
668#[derive(Debug, Copy, Clone)]
669pub struct AVRational {
670    pub num: ::std::os::raw::c_int,
671    pub den: ::std::os::raw::c_int,
672}
673#[test]
674fn bindgen_test_layout_AVRational() {
675    const UNINIT: ::std::mem::MaybeUninit<AVRational> = ::std::mem::MaybeUninit::uninit();
676    let ptr = UNINIT.as_ptr();
677    assert_eq!(
678        ::std::mem::size_of::<AVRational>(),
679        8usize,
680        concat!("Size of: ", stringify!(AVRational))
681    );
682    assert_eq!(
683        ::std::mem::align_of::<AVRational>(),
684        4usize,
685        concat!("Alignment of ", stringify!(AVRational))
686    );
687    assert_eq!(
688        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
689        0usize,
690        concat!(
691            "Offset of field: ",
692            stringify!(AVRational),
693            "::",
694            stringify!(num)
695        )
696    );
697    assert_eq!(
698        unsafe { ::std::ptr::addr_of!((*ptr).den) as usize - ptr as usize },
699        4usize,
700        concat!(
701            "Offset of field: ",
702            stringify!(AVRational),
703            "::",
704            stringify!(den)
705        )
706    );
707}
708extern "C" {
709    pub fn av_reduce(
710        dst_num: *mut ::std::os::raw::c_int,
711        dst_den: *mut ::std::os::raw::c_int,
712        num: i64,
713        den: i64,
714        max: i64,
715    ) -> ::std::os::raw::c_int;
716}
717extern "C" {
718    pub fn av_mul_q(b: AVRational, c: AVRational) -> AVRational;
719}
720extern "C" {
721    pub fn av_div_q(b: AVRational, c: AVRational) -> AVRational;
722}
723extern "C" {
724    pub fn av_add_q(b: AVRational, c: AVRational) -> AVRational;
725}
726extern "C" {
727    pub fn av_sub_q(b: AVRational, c: AVRational) -> AVRational;
728}
729extern "C" {
730    pub fn av_d2q(d: f64, max: ::std::os::raw::c_int) -> AVRational;
731}
732extern "C" {
733    pub fn av_nearer_q(q: AVRational, q1: AVRational, q2: AVRational) -> ::std::os::raw::c_int;
734}
735extern "C" {
736    pub fn av_find_nearest_q_idx(q: AVRational, q_list: *const AVRational)
737        -> ::std::os::raw::c_int;
738}
739extern "C" {
740    pub fn av_q2intfloat(q: AVRational) -> u32;
741}
742extern "C" {
743    pub fn av_gcd_q(
744        a: AVRational,
745        b: AVRational,
746        max_den: ::std::os::raw::c_int,
747        def: AVRational,
748    ) -> AVRational;
749}
750pub const AVRounding_AV_ROUND_ZERO: AVRounding = 0;
751pub const AVRounding_AV_ROUND_INF: AVRounding = 1;
752pub const AVRounding_AV_ROUND_DOWN: AVRounding = 2;
753pub const AVRounding_AV_ROUND_UP: AVRounding = 3;
754pub const AVRounding_AV_ROUND_NEAR_INF: AVRounding = 5;
755pub const AVRounding_AV_ROUND_PASS_MINMAX: AVRounding = 8192;
756pub type AVRounding = ::std::os::raw::c_uint;
757extern "C" {
758    pub fn av_gcd(a: i64, b: i64) -> i64;
759}
760extern "C" {
761    pub fn av_rescale(a: i64, b: i64, c: i64) -> i64;
762}
763extern "C" {
764    pub fn av_rescale_rnd(a: i64, b: i64, c: i64, rnd: AVRounding) -> i64;
765}
766extern "C" {
767    pub fn av_rescale_q(a: i64, bq: AVRational, cq: AVRational) -> i64;
768}
769extern "C" {
770    pub fn av_rescale_q_rnd(a: i64, bq: AVRational, cq: AVRational, rnd: AVRounding) -> i64;
771}
772extern "C" {
773    pub fn av_compare_ts(
774        ts_a: i64,
775        tb_a: AVRational,
776        ts_b: i64,
777        tb_b: AVRational,
778    ) -> ::std::os::raw::c_int;
779}
780extern "C" {
781    pub fn av_compare_mod(a: u64, b: u64, mod_: u64) -> i64;
782}
783extern "C" {
784    pub fn av_rescale_delta(
785        in_tb: AVRational,
786        in_ts: i64,
787        fs_tb: AVRational,
788        duration: ::std::os::raw::c_int,
789        last: *mut i64,
790        out_tb: AVRational,
791    ) -> i64;
792}
793extern "C" {
794    pub fn av_add_stable(ts_tb: AVRational, ts: i64, inc_tb: AVRational, inc: i64) -> i64;
795}
796extern "C" {
797    pub fn av_bessel_i0(x: f64) -> f64;
798}
799pub const AVClassCategory_AV_CLASS_CATEGORY_NA: AVClassCategory = 0;
800pub const AVClassCategory_AV_CLASS_CATEGORY_INPUT: AVClassCategory = 1;
801pub const AVClassCategory_AV_CLASS_CATEGORY_OUTPUT: AVClassCategory = 2;
802pub const AVClassCategory_AV_CLASS_CATEGORY_MUXER: AVClassCategory = 3;
803pub const AVClassCategory_AV_CLASS_CATEGORY_DEMUXER: AVClassCategory = 4;
804pub const AVClassCategory_AV_CLASS_CATEGORY_ENCODER: AVClassCategory = 5;
805pub const AVClassCategory_AV_CLASS_CATEGORY_DECODER: AVClassCategory = 6;
806pub const AVClassCategory_AV_CLASS_CATEGORY_FILTER: AVClassCategory = 7;
807pub const AVClassCategory_AV_CLASS_CATEGORY_BITSTREAM_FILTER: AVClassCategory = 8;
808pub const AVClassCategory_AV_CLASS_CATEGORY_SWSCALER: AVClassCategory = 9;
809pub const AVClassCategory_AV_CLASS_CATEGORY_SWRESAMPLER: AVClassCategory = 10;
810pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT: AVClassCategory = 40;
811pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT: AVClassCategory = 41;
812pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT: AVClassCategory = 42;
813pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT: AVClassCategory = 43;
814pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_OUTPUT: AVClassCategory = 44;
815pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_INPUT: AVClassCategory = 45;
816pub const AVClassCategory_AV_CLASS_CATEGORY_NB: AVClassCategory = 46;
817pub type AVClassCategory = ::std::os::raw::c_uint;
818#[repr(C)]
819#[derive(Debug, Copy, Clone)]
820pub struct AVOptionRanges {
821    _unused: [u8; 0],
822}
823#[repr(C)]
824#[derive(Debug, Copy, Clone)]
825pub struct AVClass {
826    pub class_name: *const ::std::os::raw::c_char,
827    pub item_name: ::std::option::Option<
828        unsafe extern "C" fn(ctx: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char,
829    >,
830    pub option: *mut AVOption,
831    pub version: ::std::os::raw::c_int,
832    pub log_level_offset_offset: ::std::os::raw::c_int,
833    pub parent_log_context_offset: ::std::os::raw::c_int,
834    pub category: AVClassCategory,
835    pub get_category: ::std::option::Option<
836        unsafe extern "C" fn(ctx: *mut ::std::os::raw::c_void) -> AVClassCategory,
837    >,
838    pub query_ranges: ::std::option::Option<
839        unsafe extern "C" fn(
840            arg1: *mut *mut AVOptionRanges,
841            obj: *mut ::std::os::raw::c_void,
842            key: *const ::std::os::raw::c_char,
843            flags: ::std::os::raw::c_int,
844        ) -> ::std::os::raw::c_int,
845    >,
846    pub child_next: ::std::option::Option<
847        unsafe extern "C" fn(
848            obj: *mut ::std::os::raw::c_void,
849            prev: *mut ::std::os::raw::c_void,
850        ) -> *mut ::std::os::raw::c_void,
851    >,
852    pub child_class_iterate: ::std::option::Option<
853        unsafe extern "C" fn(iter: *mut *mut ::std::os::raw::c_void) -> *const AVClass,
854    >,
855}
856#[test]
857fn bindgen_test_layout_AVClass() {
858    const UNINIT: ::std::mem::MaybeUninit<AVClass> = ::std::mem::MaybeUninit::uninit();
859    let ptr = UNINIT.as_ptr();
860    assert_eq!(
861        ::std::mem::size_of::<AVClass>(),
862        72usize,
863        concat!("Size of: ", stringify!(AVClass))
864    );
865    assert_eq!(
866        ::std::mem::align_of::<AVClass>(),
867        8usize,
868        concat!("Alignment of ", stringify!(AVClass))
869    );
870    assert_eq!(
871        unsafe { ::std::ptr::addr_of!((*ptr).class_name) as usize - ptr as usize },
872        0usize,
873        concat!(
874            "Offset of field: ",
875            stringify!(AVClass),
876            "::",
877            stringify!(class_name)
878        )
879    );
880    assert_eq!(
881        unsafe { ::std::ptr::addr_of!((*ptr).item_name) as usize - ptr as usize },
882        8usize,
883        concat!(
884            "Offset of field: ",
885            stringify!(AVClass),
886            "::",
887            stringify!(item_name)
888        )
889    );
890    assert_eq!(
891        unsafe { ::std::ptr::addr_of!((*ptr).option) as usize - ptr as usize },
892        16usize,
893        concat!(
894            "Offset of field: ",
895            stringify!(AVClass),
896            "::",
897            stringify!(option)
898        )
899    );
900    assert_eq!(
901        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
902        24usize,
903        concat!(
904            "Offset of field: ",
905            stringify!(AVClass),
906            "::",
907            stringify!(version)
908        )
909    );
910    assert_eq!(
911        unsafe { ::std::ptr::addr_of!((*ptr).log_level_offset_offset) as usize - ptr as usize },
912        28usize,
913        concat!(
914            "Offset of field: ",
915            stringify!(AVClass),
916            "::",
917            stringify!(log_level_offset_offset)
918        )
919    );
920    assert_eq!(
921        unsafe { ::std::ptr::addr_of!((*ptr).parent_log_context_offset) as usize - ptr as usize },
922        32usize,
923        concat!(
924            "Offset of field: ",
925            stringify!(AVClass),
926            "::",
927            stringify!(parent_log_context_offset)
928        )
929    );
930    assert_eq!(
931        unsafe { ::std::ptr::addr_of!((*ptr).category) as usize - ptr as usize },
932        36usize,
933        concat!(
934            "Offset of field: ",
935            stringify!(AVClass),
936            "::",
937            stringify!(category)
938        )
939    );
940    assert_eq!(
941        unsafe { ::std::ptr::addr_of!((*ptr).get_category) as usize - ptr as usize },
942        40usize,
943        concat!(
944            "Offset of field: ",
945            stringify!(AVClass),
946            "::",
947            stringify!(get_category)
948        )
949    );
950    assert_eq!(
951        unsafe { ::std::ptr::addr_of!((*ptr).query_ranges) as usize - ptr as usize },
952        48usize,
953        concat!(
954            "Offset of field: ",
955            stringify!(AVClass),
956            "::",
957            stringify!(query_ranges)
958        )
959    );
960    assert_eq!(
961        unsafe { ::std::ptr::addr_of!((*ptr).child_next) as usize - ptr as usize },
962        56usize,
963        concat!(
964            "Offset of field: ",
965            stringify!(AVClass),
966            "::",
967            stringify!(child_next)
968        )
969    );
970    assert_eq!(
971        unsafe { ::std::ptr::addr_of!((*ptr).child_class_iterate) as usize - ptr as usize },
972        64usize,
973        concat!(
974            "Offset of field: ",
975            stringify!(AVClass),
976            "::",
977            stringify!(child_class_iterate)
978        )
979    );
980}
981extern "C" {
982    pub fn av_log(
983        avcl: *mut ::std::os::raw::c_void,
984        level: ::std::os::raw::c_int,
985        fmt: *const ::std::os::raw::c_char,
986        ...
987    );
988}
989extern "C" {
990    pub fn av_default_item_name(ctx: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char;
991}
992extern "C" {
993    pub fn av_default_get_category(ptr: *mut ::std::os::raw::c_void) -> AVClassCategory;
994}
995pub const AVPixelFormat_AV_PIX_FMT_NONE: AVPixelFormat = -1;
996pub const AVPixelFormat_AV_PIX_FMT_YUV420P: AVPixelFormat = 0;
997pub const AVPixelFormat_AV_PIX_FMT_YUYV422: AVPixelFormat = 1;
998pub const AVPixelFormat_AV_PIX_FMT_RGB24: AVPixelFormat = 2;
999pub const AVPixelFormat_AV_PIX_FMT_BGR24: AVPixelFormat = 3;
1000pub const AVPixelFormat_AV_PIX_FMT_YUV422P: AVPixelFormat = 4;
1001pub const AVPixelFormat_AV_PIX_FMT_YUV444P: AVPixelFormat = 5;
1002pub const AVPixelFormat_AV_PIX_FMT_YUV410P: AVPixelFormat = 6;
1003pub const AVPixelFormat_AV_PIX_FMT_YUV411P: AVPixelFormat = 7;
1004pub const AVPixelFormat_AV_PIX_FMT_GRAY8: AVPixelFormat = 8;
1005pub const AVPixelFormat_AV_PIX_FMT_MONOWHITE: AVPixelFormat = 9;
1006pub const AVPixelFormat_AV_PIX_FMT_MONOBLACK: AVPixelFormat = 10;
1007pub const AVPixelFormat_AV_PIX_FMT_PAL8: AVPixelFormat = 11;
1008pub const AVPixelFormat_AV_PIX_FMT_YUVJ420P: AVPixelFormat = 12;
1009pub const AVPixelFormat_AV_PIX_FMT_YUVJ422P: AVPixelFormat = 13;
1010pub const AVPixelFormat_AV_PIX_FMT_YUVJ444P: AVPixelFormat = 14;
1011pub const AVPixelFormat_AV_PIX_FMT_UYVY422: AVPixelFormat = 15;
1012pub const AVPixelFormat_AV_PIX_FMT_UYYVYY411: AVPixelFormat = 16;
1013pub const AVPixelFormat_AV_PIX_FMT_BGR8: AVPixelFormat = 17;
1014pub const AVPixelFormat_AV_PIX_FMT_BGR4: AVPixelFormat = 18;
1015pub const AVPixelFormat_AV_PIX_FMT_BGR4_BYTE: AVPixelFormat = 19;
1016pub const AVPixelFormat_AV_PIX_FMT_RGB8: AVPixelFormat = 20;
1017pub const AVPixelFormat_AV_PIX_FMT_RGB4: AVPixelFormat = 21;
1018pub const AVPixelFormat_AV_PIX_FMT_RGB4_BYTE: AVPixelFormat = 22;
1019pub const AVPixelFormat_AV_PIX_FMT_NV12: AVPixelFormat = 23;
1020pub const AVPixelFormat_AV_PIX_FMT_NV21: AVPixelFormat = 24;
1021pub const AVPixelFormat_AV_PIX_FMT_ARGB: AVPixelFormat = 25;
1022pub const AVPixelFormat_AV_PIX_FMT_RGBA: AVPixelFormat = 26;
1023pub const AVPixelFormat_AV_PIX_FMT_ABGR: AVPixelFormat = 27;
1024pub const AVPixelFormat_AV_PIX_FMT_BGRA: AVPixelFormat = 28;
1025pub const AVPixelFormat_AV_PIX_FMT_GRAY16BE: AVPixelFormat = 29;
1026pub const AVPixelFormat_AV_PIX_FMT_GRAY16LE: AVPixelFormat = 30;
1027pub const AVPixelFormat_AV_PIX_FMT_YUV440P: AVPixelFormat = 31;
1028pub const AVPixelFormat_AV_PIX_FMT_YUVJ440P: AVPixelFormat = 32;
1029pub const AVPixelFormat_AV_PIX_FMT_YUVA420P: AVPixelFormat = 33;
1030pub const AVPixelFormat_AV_PIX_FMT_RGB48BE: AVPixelFormat = 34;
1031pub const AVPixelFormat_AV_PIX_FMT_RGB48LE: AVPixelFormat = 35;
1032pub const AVPixelFormat_AV_PIX_FMT_RGB565BE: AVPixelFormat = 36;
1033pub const AVPixelFormat_AV_PIX_FMT_RGB565LE: AVPixelFormat = 37;
1034pub const AVPixelFormat_AV_PIX_FMT_RGB555BE: AVPixelFormat = 38;
1035pub const AVPixelFormat_AV_PIX_FMT_RGB555LE: AVPixelFormat = 39;
1036pub const AVPixelFormat_AV_PIX_FMT_BGR565BE: AVPixelFormat = 40;
1037pub const AVPixelFormat_AV_PIX_FMT_BGR565LE: AVPixelFormat = 41;
1038pub const AVPixelFormat_AV_PIX_FMT_BGR555BE: AVPixelFormat = 42;
1039pub const AVPixelFormat_AV_PIX_FMT_BGR555LE: AVPixelFormat = 43;
1040pub const AVPixelFormat_AV_PIX_FMT_VAAPI: AVPixelFormat = 44;
1041pub const AVPixelFormat_AV_PIX_FMT_YUV420P16LE: AVPixelFormat = 45;
1042pub const AVPixelFormat_AV_PIX_FMT_YUV420P16BE: AVPixelFormat = 46;
1043pub const AVPixelFormat_AV_PIX_FMT_YUV422P16LE: AVPixelFormat = 47;
1044pub const AVPixelFormat_AV_PIX_FMT_YUV422P16BE: AVPixelFormat = 48;
1045pub const AVPixelFormat_AV_PIX_FMT_YUV444P16LE: AVPixelFormat = 49;
1046pub const AVPixelFormat_AV_PIX_FMT_YUV444P16BE: AVPixelFormat = 50;
1047pub const AVPixelFormat_AV_PIX_FMT_DXVA2_VLD: AVPixelFormat = 51;
1048pub const AVPixelFormat_AV_PIX_FMT_RGB444LE: AVPixelFormat = 52;
1049pub const AVPixelFormat_AV_PIX_FMT_RGB444BE: AVPixelFormat = 53;
1050pub const AVPixelFormat_AV_PIX_FMT_BGR444LE: AVPixelFormat = 54;
1051pub const AVPixelFormat_AV_PIX_FMT_BGR444BE: AVPixelFormat = 55;
1052pub const AVPixelFormat_AV_PIX_FMT_YA8: AVPixelFormat = 56;
1053pub const AVPixelFormat_AV_PIX_FMT_Y400A: AVPixelFormat = 56;
1054pub const AVPixelFormat_AV_PIX_FMT_GRAY8A: AVPixelFormat = 56;
1055pub const AVPixelFormat_AV_PIX_FMT_BGR48BE: AVPixelFormat = 57;
1056pub const AVPixelFormat_AV_PIX_FMT_BGR48LE: AVPixelFormat = 58;
1057pub const AVPixelFormat_AV_PIX_FMT_YUV420P9BE: AVPixelFormat = 59;
1058pub const AVPixelFormat_AV_PIX_FMT_YUV420P9LE: AVPixelFormat = 60;
1059pub const AVPixelFormat_AV_PIX_FMT_YUV420P10BE: AVPixelFormat = 61;
1060pub const AVPixelFormat_AV_PIX_FMT_YUV420P10LE: AVPixelFormat = 62;
1061pub const AVPixelFormat_AV_PIX_FMT_YUV422P10BE: AVPixelFormat = 63;
1062pub const AVPixelFormat_AV_PIX_FMT_YUV422P10LE: AVPixelFormat = 64;
1063pub const AVPixelFormat_AV_PIX_FMT_YUV444P9BE: AVPixelFormat = 65;
1064pub const AVPixelFormat_AV_PIX_FMT_YUV444P9LE: AVPixelFormat = 66;
1065pub const AVPixelFormat_AV_PIX_FMT_YUV444P10BE: AVPixelFormat = 67;
1066pub const AVPixelFormat_AV_PIX_FMT_YUV444P10LE: AVPixelFormat = 68;
1067pub const AVPixelFormat_AV_PIX_FMT_YUV422P9BE: AVPixelFormat = 69;
1068pub const AVPixelFormat_AV_PIX_FMT_YUV422P9LE: AVPixelFormat = 70;
1069pub const AVPixelFormat_AV_PIX_FMT_GBRP: AVPixelFormat = 71;
1070pub const AVPixelFormat_AV_PIX_FMT_GBR24P: AVPixelFormat = 71;
1071pub const AVPixelFormat_AV_PIX_FMT_GBRP9BE: AVPixelFormat = 72;
1072pub const AVPixelFormat_AV_PIX_FMT_GBRP9LE: AVPixelFormat = 73;
1073pub const AVPixelFormat_AV_PIX_FMT_GBRP10BE: AVPixelFormat = 74;
1074pub const AVPixelFormat_AV_PIX_FMT_GBRP10LE: AVPixelFormat = 75;
1075pub const AVPixelFormat_AV_PIX_FMT_GBRP16BE: AVPixelFormat = 76;
1076pub const AVPixelFormat_AV_PIX_FMT_GBRP16LE: AVPixelFormat = 77;
1077pub const AVPixelFormat_AV_PIX_FMT_YUVA422P: AVPixelFormat = 78;
1078pub const AVPixelFormat_AV_PIX_FMT_YUVA444P: AVPixelFormat = 79;
1079pub const AVPixelFormat_AV_PIX_FMT_YUVA420P9BE: AVPixelFormat = 80;
1080pub const AVPixelFormat_AV_PIX_FMT_YUVA420P9LE: AVPixelFormat = 81;
1081pub const AVPixelFormat_AV_PIX_FMT_YUVA422P9BE: AVPixelFormat = 82;
1082pub const AVPixelFormat_AV_PIX_FMT_YUVA422P9LE: AVPixelFormat = 83;
1083pub const AVPixelFormat_AV_PIX_FMT_YUVA444P9BE: AVPixelFormat = 84;
1084pub const AVPixelFormat_AV_PIX_FMT_YUVA444P9LE: AVPixelFormat = 85;
1085pub const AVPixelFormat_AV_PIX_FMT_YUVA420P10BE: AVPixelFormat = 86;
1086pub const AVPixelFormat_AV_PIX_FMT_YUVA420P10LE: AVPixelFormat = 87;
1087pub const AVPixelFormat_AV_PIX_FMT_YUVA422P10BE: AVPixelFormat = 88;
1088pub const AVPixelFormat_AV_PIX_FMT_YUVA422P10LE: AVPixelFormat = 89;
1089pub const AVPixelFormat_AV_PIX_FMT_YUVA444P10BE: AVPixelFormat = 90;
1090pub const AVPixelFormat_AV_PIX_FMT_YUVA444P10LE: AVPixelFormat = 91;
1091pub const AVPixelFormat_AV_PIX_FMT_YUVA420P16BE: AVPixelFormat = 92;
1092pub const AVPixelFormat_AV_PIX_FMT_YUVA420P16LE: AVPixelFormat = 93;
1093pub const AVPixelFormat_AV_PIX_FMT_YUVA422P16BE: AVPixelFormat = 94;
1094pub const AVPixelFormat_AV_PIX_FMT_YUVA422P16LE: AVPixelFormat = 95;
1095pub const AVPixelFormat_AV_PIX_FMT_YUVA444P16BE: AVPixelFormat = 96;
1096pub const AVPixelFormat_AV_PIX_FMT_YUVA444P16LE: AVPixelFormat = 97;
1097pub const AVPixelFormat_AV_PIX_FMT_VDPAU: AVPixelFormat = 98;
1098pub const AVPixelFormat_AV_PIX_FMT_XYZ12LE: AVPixelFormat = 99;
1099pub const AVPixelFormat_AV_PIX_FMT_XYZ12BE: AVPixelFormat = 100;
1100pub const AVPixelFormat_AV_PIX_FMT_NV16: AVPixelFormat = 101;
1101pub const AVPixelFormat_AV_PIX_FMT_NV20LE: AVPixelFormat = 102;
1102pub const AVPixelFormat_AV_PIX_FMT_NV20BE: AVPixelFormat = 103;
1103pub const AVPixelFormat_AV_PIX_FMT_RGBA64BE: AVPixelFormat = 104;
1104pub const AVPixelFormat_AV_PIX_FMT_RGBA64LE: AVPixelFormat = 105;
1105pub const AVPixelFormat_AV_PIX_FMT_BGRA64BE: AVPixelFormat = 106;
1106pub const AVPixelFormat_AV_PIX_FMT_BGRA64LE: AVPixelFormat = 107;
1107pub const AVPixelFormat_AV_PIX_FMT_YVYU422: AVPixelFormat = 108;
1108pub const AVPixelFormat_AV_PIX_FMT_YA16BE: AVPixelFormat = 109;
1109pub const AVPixelFormat_AV_PIX_FMT_YA16LE: AVPixelFormat = 110;
1110pub const AVPixelFormat_AV_PIX_FMT_GBRAP: AVPixelFormat = 111;
1111pub const AVPixelFormat_AV_PIX_FMT_GBRAP16BE: AVPixelFormat = 112;
1112pub const AVPixelFormat_AV_PIX_FMT_GBRAP16LE: AVPixelFormat = 113;
1113pub const AVPixelFormat_AV_PIX_FMT_QSV: AVPixelFormat = 114;
1114pub const AVPixelFormat_AV_PIX_FMT_MMAL: AVPixelFormat = 115;
1115pub const AVPixelFormat_AV_PIX_FMT_D3D11VA_VLD: AVPixelFormat = 116;
1116pub const AVPixelFormat_AV_PIX_FMT_CUDA: AVPixelFormat = 117;
1117pub const AVPixelFormat_AV_PIX_FMT_0RGB: AVPixelFormat = 118;
1118pub const AVPixelFormat_AV_PIX_FMT_RGB0: AVPixelFormat = 119;
1119pub const AVPixelFormat_AV_PIX_FMT_0BGR: AVPixelFormat = 120;
1120pub const AVPixelFormat_AV_PIX_FMT_BGR0: AVPixelFormat = 121;
1121pub const AVPixelFormat_AV_PIX_FMT_YUV420P12BE: AVPixelFormat = 122;
1122pub const AVPixelFormat_AV_PIX_FMT_YUV420P12LE: AVPixelFormat = 123;
1123pub const AVPixelFormat_AV_PIX_FMT_YUV420P14BE: AVPixelFormat = 124;
1124pub const AVPixelFormat_AV_PIX_FMT_YUV420P14LE: AVPixelFormat = 125;
1125pub const AVPixelFormat_AV_PIX_FMT_YUV422P12BE: AVPixelFormat = 126;
1126pub const AVPixelFormat_AV_PIX_FMT_YUV422P12LE: AVPixelFormat = 127;
1127pub const AVPixelFormat_AV_PIX_FMT_YUV422P14BE: AVPixelFormat = 128;
1128pub const AVPixelFormat_AV_PIX_FMT_YUV422P14LE: AVPixelFormat = 129;
1129pub const AVPixelFormat_AV_PIX_FMT_YUV444P12BE: AVPixelFormat = 130;
1130pub const AVPixelFormat_AV_PIX_FMT_YUV444P12LE: AVPixelFormat = 131;
1131pub const AVPixelFormat_AV_PIX_FMT_YUV444P14BE: AVPixelFormat = 132;
1132pub const AVPixelFormat_AV_PIX_FMT_YUV444P14LE: AVPixelFormat = 133;
1133pub const AVPixelFormat_AV_PIX_FMT_GBRP12BE: AVPixelFormat = 134;
1134pub const AVPixelFormat_AV_PIX_FMT_GBRP12LE: AVPixelFormat = 135;
1135pub const AVPixelFormat_AV_PIX_FMT_GBRP14BE: AVPixelFormat = 136;
1136pub const AVPixelFormat_AV_PIX_FMT_GBRP14LE: AVPixelFormat = 137;
1137pub const AVPixelFormat_AV_PIX_FMT_YUVJ411P: AVPixelFormat = 138;
1138pub const AVPixelFormat_AV_PIX_FMT_BAYER_BGGR8: AVPixelFormat = 139;
1139pub const AVPixelFormat_AV_PIX_FMT_BAYER_RGGB8: AVPixelFormat = 140;
1140pub const AVPixelFormat_AV_PIX_FMT_BAYER_GBRG8: AVPixelFormat = 141;
1141pub const AVPixelFormat_AV_PIX_FMT_BAYER_GRBG8: AVPixelFormat = 142;
1142pub const AVPixelFormat_AV_PIX_FMT_BAYER_BGGR16LE: AVPixelFormat = 143;
1143pub const AVPixelFormat_AV_PIX_FMT_BAYER_BGGR16BE: AVPixelFormat = 144;
1144pub const AVPixelFormat_AV_PIX_FMT_BAYER_RGGB16LE: AVPixelFormat = 145;
1145pub const AVPixelFormat_AV_PIX_FMT_BAYER_RGGB16BE: AVPixelFormat = 146;
1146pub const AVPixelFormat_AV_PIX_FMT_BAYER_GBRG16LE: AVPixelFormat = 147;
1147pub const AVPixelFormat_AV_PIX_FMT_BAYER_GBRG16BE: AVPixelFormat = 148;
1148pub const AVPixelFormat_AV_PIX_FMT_BAYER_GRBG16LE: AVPixelFormat = 149;
1149pub const AVPixelFormat_AV_PIX_FMT_BAYER_GRBG16BE: AVPixelFormat = 150;
1150pub const AVPixelFormat_AV_PIX_FMT_YUV440P10LE: AVPixelFormat = 151;
1151pub const AVPixelFormat_AV_PIX_FMT_YUV440P10BE: AVPixelFormat = 152;
1152pub const AVPixelFormat_AV_PIX_FMT_YUV440P12LE: AVPixelFormat = 153;
1153pub const AVPixelFormat_AV_PIX_FMT_YUV440P12BE: AVPixelFormat = 154;
1154pub const AVPixelFormat_AV_PIX_FMT_AYUV64LE: AVPixelFormat = 155;
1155pub const AVPixelFormat_AV_PIX_FMT_AYUV64BE: AVPixelFormat = 156;
1156pub const AVPixelFormat_AV_PIX_FMT_VIDEOTOOLBOX: AVPixelFormat = 157;
1157pub const AVPixelFormat_AV_PIX_FMT_P010LE: AVPixelFormat = 158;
1158pub const AVPixelFormat_AV_PIX_FMT_P010BE: AVPixelFormat = 159;
1159pub const AVPixelFormat_AV_PIX_FMT_GBRAP12BE: AVPixelFormat = 160;
1160pub const AVPixelFormat_AV_PIX_FMT_GBRAP12LE: AVPixelFormat = 161;
1161pub const AVPixelFormat_AV_PIX_FMT_GBRAP10BE: AVPixelFormat = 162;
1162pub const AVPixelFormat_AV_PIX_FMT_GBRAP10LE: AVPixelFormat = 163;
1163pub const AVPixelFormat_AV_PIX_FMT_MEDIACODEC: AVPixelFormat = 164;
1164pub const AVPixelFormat_AV_PIX_FMT_GRAY12BE: AVPixelFormat = 165;
1165pub const AVPixelFormat_AV_PIX_FMT_GRAY12LE: AVPixelFormat = 166;
1166pub const AVPixelFormat_AV_PIX_FMT_GRAY10BE: AVPixelFormat = 167;
1167pub const AVPixelFormat_AV_PIX_FMT_GRAY10LE: AVPixelFormat = 168;
1168pub const AVPixelFormat_AV_PIX_FMT_P016LE: AVPixelFormat = 169;
1169pub const AVPixelFormat_AV_PIX_FMT_P016BE: AVPixelFormat = 170;
1170pub const AVPixelFormat_AV_PIX_FMT_D3D11: AVPixelFormat = 171;
1171pub const AVPixelFormat_AV_PIX_FMT_GRAY9BE: AVPixelFormat = 172;
1172pub const AVPixelFormat_AV_PIX_FMT_GRAY9LE: AVPixelFormat = 173;
1173pub const AVPixelFormat_AV_PIX_FMT_GBRPF32BE: AVPixelFormat = 174;
1174pub const AVPixelFormat_AV_PIX_FMT_GBRPF32LE: AVPixelFormat = 175;
1175pub const AVPixelFormat_AV_PIX_FMT_GBRAPF32BE: AVPixelFormat = 176;
1176pub const AVPixelFormat_AV_PIX_FMT_GBRAPF32LE: AVPixelFormat = 177;
1177pub const AVPixelFormat_AV_PIX_FMT_DRM_PRIME: AVPixelFormat = 178;
1178pub const AVPixelFormat_AV_PIX_FMT_OPENCL: AVPixelFormat = 179;
1179pub const AVPixelFormat_AV_PIX_FMT_GRAY14BE: AVPixelFormat = 180;
1180pub const AVPixelFormat_AV_PIX_FMT_GRAY14LE: AVPixelFormat = 181;
1181pub const AVPixelFormat_AV_PIX_FMT_GRAYF32BE: AVPixelFormat = 182;
1182pub const AVPixelFormat_AV_PIX_FMT_GRAYF32LE: AVPixelFormat = 183;
1183pub const AVPixelFormat_AV_PIX_FMT_YUVA422P12BE: AVPixelFormat = 184;
1184pub const AVPixelFormat_AV_PIX_FMT_YUVA422P12LE: AVPixelFormat = 185;
1185pub const AVPixelFormat_AV_PIX_FMT_YUVA444P12BE: AVPixelFormat = 186;
1186pub const AVPixelFormat_AV_PIX_FMT_YUVA444P12LE: AVPixelFormat = 187;
1187pub const AVPixelFormat_AV_PIX_FMT_NV24: AVPixelFormat = 188;
1188pub const AVPixelFormat_AV_PIX_FMT_NV42: AVPixelFormat = 189;
1189pub const AVPixelFormat_AV_PIX_FMT_VULKAN: AVPixelFormat = 190;
1190pub const AVPixelFormat_AV_PIX_FMT_Y210BE: AVPixelFormat = 191;
1191pub const AVPixelFormat_AV_PIX_FMT_Y210LE: AVPixelFormat = 192;
1192pub const AVPixelFormat_AV_PIX_FMT_X2RGB10LE: AVPixelFormat = 193;
1193pub const AVPixelFormat_AV_PIX_FMT_X2RGB10BE: AVPixelFormat = 194;
1194pub const AVPixelFormat_AV_PIX_FMT_X2BGR10LE: AVPixelFormat = 195;
1195pub const AVPixelFormat_AV_PIX_FMT_X2BGR10BE: AVPixelFormat = 196;
1196pub const AVPixelFormat_AV_PIX_FMT_P210BE: AVPixelFormat = 197;
1197pub const AVPixelFormat_AV_PIX_FMT_P210LE: AVPixelFormat = 198;
1198pub const AVPixelFormat_AV_PIX_FMT_P410BE: AVPixelFormat = 199;
1199pub const AVPixelFormat_AV_PIX_FMT_P410LE: AVPixelFormat = 200;
1200pub const AVPixelFormat_AV_PIX_FMT_P216BE: AVPixelFormat = 201;
1201pub const AVPixelFormat_AV_PIX_FMT_P216LE: AVPixelFormat = 202;
1202pub const AVPixelFormat_AV_PIX_FMT_P416BE: AVPixelFormat = 203;
1203pub const AVPixelFormat_AV_PIX_FMT_P416LE: AVPixelFormat = 204;
1204pub const AVPixelFormat_AV_PIX_FMT_VUYA: AVPixelFormat = 205;
1205pub const AVPixelFormat_AV_PIX_FMT_RGBAF16BE: AVPixelFormat = 206;
1206pub const AVPixelFormat_AV_PIX_FMT_RGBAF16LE: AVPixelFormat = 207;
1207pub const AVPixelFormat_AV_PIX_FMT_VUYX: AVPixelFormat = 208;
1208pub const AVPixelFormat_AV_PIX_FMT_P012LE: AVPixelFormat = 209;
1209pub const AVPixelFormat_AV_PIX_FMT_P012BE: AVPixelFormat = 210;
1210pub const AVPixelFormat_AV_PIX_FMT_Y212BE: AVPixelFormat = 211;
1211pub const AVPixelFormat_AV_PIX_FMT_Y212LE: AVPixelFormat = 212;
1212pub const AVPixelFormat_AV_PIX_FMT_XV30BE: AVPixelFormat = 213;
1213pub const AVPixelFormat_AV_PIX_FMT_XV30LE: AVPixelFormat = 214;
1214pub const AVPixelFormat_AV_PIX_FMT_XV36BE: AVPixelFormat = 215;
1215pub const AVPixelFormat_AV_PIX_FMT_XV36LE: AVPixelFormat = 216;
1216pub const AVPixelFormat_AV_PIX_FMT_RGBF32BE: AVPixelFormat = 217;
1217pub const AVPixelFormat_AV_PIX_FMT_RGBF32LE: AVPixelFormat = 218;
1218pub const AVPixelFormat_AV_PIX_FMT_RGBAF32BE: AVPixelFormat = 219;
1219pub const AVPixelFormat_AV_PIX_FMT_RGBAF32LE: AVPixelFormat = 220;
1220pub const AVPixelFormat_AV_PIX_FMT_P212BE: AVPixelFormat = 221;
1221pub const AVPixelFormat_AV_PIX_FMT_P212LE: AVPixelFormat = 222;
1222pub const AVPixelFormat_AV_PIX_FMT_P412BE: AVPixelFormat = 223;
1223pub const AVPixelFormat_AV_PIX_FMT_P412LE: AVPixelFormat = 224;
1224pub const AVPixelFormat_AV_PIX_FMT_GBRAP14BE: AVPixelFormat = 225;
1225pub const AVPixelFormat_AV_PIX_FMT_GBRAP14LE: AVPixelFormat = 226;
1226pub const AVPixelFormat_AV_PIX_FMT_D3D12: AVPixelFormat = 227;
1227pub const AVPixelFormat_AV_PIX_FMT_NB: AVPixelFormat = 228;
1228pub type AVPixelFormat = ::std::os::raw::c_int;
1229pub const AVColorPrimaries_AVCOL_PRI_RESERVED0: AVColorPrimaries = 0;
1230pub const AVColorPrimaries_AVCOL_PRI_BT709: AVColorPrimaries = 1;
1231pub const AVColorPrimaries_AVCOL_PRI_UNSPECIFIED: AVColorPrimaries = 2;
1232pub const AVColorPrimaries_AVCOL_PRI_RESERVED: AVColorPrimaries = 3;
1233pub const AVColorPrimaries_AVCOL_PRI_BT470M: AVColorPrimaries = 4;
1234pub const AVColorPrimaries_AVCOL_PRI_BT470BG: AVColorPrimaries = 5;
1235pub const AVColorPrimaries_AVCOL_PRI_SMPTE170M: AVColorPrimaries = 6;
1236pub const AVColorPrimaries_AVCOL_PRI_SMPTE240M: AVColorPrimaries = 7;
1237pub const AVColorPrimaries_AVCOL_PRI_FILM: AVColorPrimaries = 8;
1238pub const AVColorPrimaries_AVCOL_PRI_BT2020: AVColorPrimaries = 9;
1239pub const AVColorPrimaries_AVCOL_PRI_SMPTE428: AVColorPrimaries = 10;
1240pub const AVColorPrimaries_AVCOL_PRI_SMPTEST428_1: AVColorPrimaries = 10;
1241pub const AVColorPrimaries_AVCOL_PRI_SMPTE431: AVColorPrimaries = 11;
1242pub const AVColorPrimaries_AVCOL_PRI_SMPTE432: AVColorPrimaries = 12;
1243pub const AVColorPrimaries_AVCOL_PRI_EBU3213: AVColorPrimaries = 22;
1244pub const AVColorPrimaries_AVCOL_PRI_JEDEC_P22: AVColorPrimaries = 22;
1245pub const AVColorPrimaries_AVCOL_PRI_NB: AVColorPrimaries = 23;
1246pub type AVColorPrimaries = ::std::os::raw::c_uint;
1247pub const AVColorTransferCharacteristic_AVCOL_TRC_RESERVED0: AVColorTransferCharacteristic = 0;
1248pub const AVColorTransferCharacteristic_AVCOL_TRC_BT709: AVColorTransferCharacteristic = 1;
1249pub const AVColorTransferCharacteristic_AVCOL_TRC_UNSPECIFIED: AVColorTransferCharacteristic = 2;
1250pub const AVColorTransferCharacteristic_AVCOL_TRC_RESERVED: AVColorTransferCharacteristic = 3;
1251pub const AVColorTransferCharacteristic_AVCOL_TRC_GAMMA22: AVColorTransferCharacteristic = 4;
1252pub const AVColorTransferCharacteristic_AVCOL_TRC_GAMMA28: AVColorTransferCharacteristic = 5;
1253pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE170M: AVColorTransferCharacteristic = 6;
1254pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE240M: AVColorTransferCharacteristic = 7;
1255pub const AVColorTransferCharacteristic_AVCOL_TRC_LINEAR: AVColorTransferCharacteristic = 8;
1256pub const AVColorTransferCharacteristic_AVCOL_TRC_LOG: AVColorTransferCharacteristic = 9;
1257pub const AVColorTransferCharacteristic_AVCOL_TRC_LOG_SQRT: AVColorTransferCharacteristic = 10;
1258pub const AVColorTransferCharacteristic_AVCOL_TRC_IEC61966_2_4: AVColorTransferCharacteristic = 11;
1259pub const AVColorTransferCharacteristic_AVCOL_TRC_BT1361_ECG: AVColorTransferCharacteristic = 12;
1260pub const AVColorTransferCharacteristic_AVCOL_TRC_IEC61966_2_1: AVColorTransferCharacteristic = 13;
1261pub const AVColorTransferCharacteristic_AVCOL_TRC_BT2020_10: AVColorTransferCharacteristic = 14;
1262pub const AVColorTransferCharacteristic_AVCOL_TRC_BT2020_12: AVColorTransferCharacteristic = 15;
1263pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE2084: AVColorTransferCharacteristic = 16;
1264pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTEST2084: AVColorTransferCharacteristic = 16;
1265pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE428: AVColorTransferCharacteristic = 17;
1266pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTEST428_1: AVColorTransferCharacteristic = 17;
1267pub const AVColorTransferCharacteristic_AVCOL_TRC_ARIB_STD_B67: AVColorTransferCharacteristic = 18;
1268pub const AVColorTransferCharacteristic_AVCOL_TRC_NB: AVColorTransferCharacteristic = 19;
1269pub type AVColorTransferCharacteristic = ::std::os::raw::c_uint;
1270pub const AVColorSpace_AVCOL_SPC_RGB: AVColorSpace = 0;
1271pub const AVColorSpace_AVCOL_SPC_BT709: AVColorSpace = 1;
1272pub const AVColorSpace_AVCOL_SPC_UNSPECIFIED: AVColorSpace = 2;
1273pub const AVColorSpace_AVCOL_SPC_RESERVED: AVColorSpace = 3;
1274pub const AVColorSpace_AVCOL_SPC_FCC: AVColorSpace = 4;
1275pub const AVColorSpace_AVCOL_SPC_BT470BG: AVColorSpace = 5;
1276pub const AVColorSpace_AVCOL_SPC_SMPTE170M: AVColorSpace = 6;
1277pub const AVColorSpace_AVCOL_SPC_SMPTE240M: AVColorSpace = 7;
1278pub const AVColorSpace_AVCOL_SPC_YCGCO: AVColorSpace = 8;
1279pub const AVColorSpace_AVCOL_SPC_YCOCG: AVColorSpace = 8;
1280pub const AVColorSpace_AVCOL_SPC_BT2020_NCL: AVColorSpace = 9;
1281pub const AVColorSpace_AVCOL_SPC_BT2020_CL: AVColorSpace = 10;
1282pub const AVColorSpace_AVCOL_SPC_SMPTE2085: AVColorSpace = 11;
1283pub const AVColorSpace_AVCOL_SPC_CHROMA_DERIVED_NCL: AVColorSpace = 12;
1284pub const AVColorSpace_AVCOL_SPC_CHROMA_DERIVED_CL: AVColorSpace = 13;
1285pub const AVColorSpace_AVCOL_SPC_ICTCP: AVColorSpace = 14;
1286pub const AVColorSpace_AVCOL_SPC_IPT_C2: AVColorSpace = 15;
1287pub const AVColorSpace_AVCOL_SPC_YCGCO_RE: AVColorSpace = 16;
1288pub const AVColorSpace_AVCOL_SPC_YCGCO_RO: AVColorSpace = 17;
1289pub const AVColorSpace_AVCOL_SPC_NB: AVColorSpace = 18;
1290pub type AVColorSpace = ::std::os::raw::c_uint;
1291pub const AVColorRange_AVCOL_RANGE_UNSPECIFIED: AVColorRange = 0;
1292pub const AVColorRange_AVCOL_RANGE_MPEG: AVColorRange = 1;
1293pub const AVColorRange_AVCOL_RANGE_JPEG: AVColorRange = 2;
1294pub const AVColorRange_AVCOL_RANGE_NB: AVColorRange = 3;
1295pub type AVColorRange = ::std::os::raw::c_uint;
1296pub const AVChromaLocation_AVCHROMA_LOC_UNSPECIFIED: AVChromaLocation = 0;
1297pub const AVChromaLocation_AVCHROMA_LOC_LEFT: AVChromaLocation = 1;
1298pub const AVChromaLocation_AVCHROMA_LOC_CENTER: AVChromaLocation = 2;
1299pub const AVChromaLocation_AVCHROMA_LOC_TOPLEFT: AVChromaLocation = 3;
1300pub const AVChromaLocation_AVCHROMA_LOC_TOP: AVChromaLocation = 4;
1301pub const AVChromaLocation_AVCHROMA_LOC_BOTTOMLEFT: AVChromaLocation = 5;
1302pub const AVChromaLocation_AVCHROMA_LOC_BOTTOM: AVChromaLocation = 6;
1303pub const AVChromaLocation_AVCHROMA_LOC_NB: AVChromaLocation = 7;
1304pub type AVChromaLocation = ::std::os::raw::c_uint;
1305extern "C" {
1306    pub fn av_int_list_length_for_size(
1307        elsize: ::std::os::raw::c_uint,
1308        list: *const ::std::os::raw::c_void,
1309        term: u64,
1310    ) -> ::std::os::raw::c_uint;
1311}
1312extern "C" {
1313    pub fn av_get_time_base_q() -> AVRational;
1314}
1315extern "C" {
1316    pub fn av_fourcc_make_string(
1317        buf: *mut ::std::os::raw::c_char,
1318        fourcc: u32,
1319    ) -> *mut ::std::os::raw::c_char;
1320}
1321#[repr(C)]
1322#[derive(Debug, Copy, Clone)]
1323pub struct AVBuffer {
1324    _unused: [u8; 0],
1325}
1326#[repr(C)]
1327#[derive(Debug, Copy, Clone)]
1328pub struct AVBufferRef {
1329    pub buffer: *mut AVBuffer,
1330    pub data: *mut u8,
1331    pub size: usize,
1332}
1333#[test]
1334fn bindgen_test_layout_AVBufferRef() {
1335    const UNINIT: ::std::mem::MaybeUninit<AVBufferRef> = ::std::mem::MaybeUninit::uninit();
1336    let ptr = UNINIT.as_ptr();
1337    assert_eq!(
1338        ::std::mem::size_of::<AVBufferRef>(),
1339        24usize,
1340        concat!("Size of: ", stringify!(AVBufferRef))
1341    );
1342    assert_eq!(
1343        ::std::mem::align_of::<AVBufferRef>(),
1344        8usize,
1345        concat!("Alignment of ", stringify!(AVBufferRef))
1346    );
1347    assert_eq!(
1348        unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
1349        0usize,
1350        concat!(
1351            "Offset of field: ",
1352            stringify!(AVBufferRef),
1353            "::",
1354            stringify!(buffer)
1355        )
1356    );
1357    assert_eq!(
1358        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
1359        8usize,
1360        concat!(
1361            "Offset of field: ",
1362            stringify!(AVBufferRef),
1363            "::",
1364            stringify!(data)
1365        )
1366    );
1367    assert_eq!(
1368        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
1369        16usize,
1370        concat!(
1371            "Offset of field: ",
1372            stringify!(AVBufferRef),
1373            "::",
1374            stringify!(size)
1375        )
1376    );
1377}
1378extern "C" {
1379    pub fn av_buffer_alloc(size: usize) -> *mut AVBufferRef;
1380}
1381extern "C" {
1382    pub fn av_buffer_allocz(size: usize) -> *mut AVBufferRef;
1383}
1384extern "C" {
1385    pub fn av_buffer_create(
1386        data: *mut u8,
1387        size: usize,
1388        free: ::std::option::Option<
1389            unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void, data: *mut u8),
1390        >,
1391        opaque: *mut ::std::os::raw::c_void,
1392        flags: ::std::os::raw::c_int,
1393    ) -> *mut AVBufferRef;
1394}
1395extern "C" {
1396    pub fn av_buffer_default_free(opaque: *mut ::std::os::raw::c_void, data: *mut u8);
1397}
1398extern "C" {
1399    pub fn av_buffer_ref(buf: *const AVBufferRef) -> *mut AVBufferRef;
1400}
1401extern "C" {
1402    pub fn av_buffer_unref(buf: *mut *mut AVBufferRef);
1403}
1404extern "C" {
1405    pub fn av_buffer_is_writable(buf: *const AVBufferRef) -> ::std::os::raw::c_int;
1406}
1407extern "C" {
1408    pub fn av_buffer_get_opaque(buf: *const AVBufferRef) -> *mut ::std::os::raw::c_void;
1409}
1410extern "C" {
1411    pub fn av_buffer_get_ref_count(buf: *const AVBufferRef) -> ::std::os::raw::c_int;
1412}
1413extern "C" {
1414    pub fn av_buffer_make_writable(buf: *mut *mut AVBufferRef) -> ::std::os::raw::c_int;
1415}
1416extern "C" {
1417    pub fn av_buffer_realloc(buf: *mut *mut AVBufferRef, size: usize) -> ::std::os::raw::c_int;
1418}
1419extern "C" {
1420    pub fn av_buffer_replace(
1421        dst: *mut *mut AVBufferRef,
1422        src: *const AVBufferRef,
1423    ) -> ::std::os::raw::c_int;
1424}
1425#[repr(C)]
1426#[derive(Debug, Copy, Clone)]
1427pub struct AVBufferPool {
1428    _unused: [u8; 0],
1429}
1430extern "C" {
1431    pub fn av_buffer_pool_init(
1432        size: usize,
1433        alloc: ::std::option::Option<unsafe extern "C" fn(size: usize) -> *mut AVBufferRef>,
1434    ) -> *mut AVBufferPool;
1435}
1436extern "C" {
1437    pub fn av_buffer_pool_init2(
1438        size: usize,
1439        opaque: *mut ::std::os::raw::c_void,
1440        alloc: ::std::option::Option<
1441            unsafe extern "C" fn(
1442                opaque: *mut ::std::os::raw::c_void,
1443                size: usize,
1444            ) -> *mut AVBufferRef,
1445        >,
1446        pool_free: ::std::option::Option<unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void)>,
1447    ) -> *mut AVBufferPool;
1448}
1449extern "C" {
1450    pub fn av_buffer_pool_uninit(pool: *mut *mut AVBufferPool);
1451}
1452extern "C" {
1453    pub fn av_buffer_pool_get(pool: *mut AVBufferPool) -> *mut AVBufferRef;
1454}
1455extern "C" {
1456    pub fn av_buffer_pool_buffer_get_opaque(
1457        ref_: *const AVBufferRef,
1458    ) -> *mut ::std::os::raw::c_void;
1459}
1460pub const AVChannel_AV_CHAN_NONE: AVChannel = -1;
1461pub const AVChannel_AV_CHAN_FRONT_LEFT: AVChannel = 0;
1462pub const AVChannel_AV_CHAN_FRONT_RIGHT: AVChannel = 1;
1463pub const AVChannel_AV_CHAN_FRONT_CENTER: AVChannel = 2;
1464pub const AVChannel_AV_CHAN_LOW_FREQUENCY: AVChannel = 3;
1465pub const AVChannel_AV_CHAN_BACK_LEFT: AVChannel = 4;
1466pub const AVChannel_AV_CHAN_BACK_RIGHT: AVChannel = 5;
1467pub const AVChannel_AV_CHAN_FRONT_LEFT_OF_CENTER: AVChannel = 6;
1468pub const AVChannel_AV_CHAN_FRONT_RIGHT_OF_CENTER: AVChannel = 7;
1469pub const AVChannel_AV_CHAN_BACK_CENTER: AVChannel = 8;
1470pub const AVChannel_AV_CHAN_SIDE_LEFT: AVChannel = 9;
1471pub const AVChannel_AV_CHAN_SIDE_RIGHT: AVChannel = 10;
1472pub const AVChannel_AV_CHAN_TOP_CENTER: AVChannel = 11;
1473pub const AVChannel_AV_CHAN_TOP_FRONT_LEFT: AVChannel = 12;
1474pub const AVChannel_AV_CHAN_TOP_FRONT_CENTER: AVChannel = 13;
1475pub const AVChannel_AV_CHAN_TOP_FRONT_RIGHT: AVChannel = 14;
1476pub const AVChannel_AV_CHAN_TOP_BACK_LEFT: AVChannel = 15;
1477pub const AVChannel_AV_CHAN_TOP_BACK_CENTER: AVChannel = 16;
1478pub const AVChannel_AV_CHAN_TOP_BACK_RIGHT: AVChannel = 17;
1479pub const AVChannel_AV_CHAN_STEREO_LEFT: AVChannel = 29;
1480pub const AVChannel_AV_CHAN_STEREO_RIGHT: AVChannel = 30;
1481pub const AVChannel_AV_CHAN_WIDE_LEFT: AVChannel = 31;
1482pub const AVChannel_AV_CHAN_WIDE_RIGHT: AVChannel = 32;
1483pub const AVChannel_AV_CHAN_SURROUND_DIRECT_LEFT: AVChannel = 33;
1484pub const AVChannel_AV_CHAN_SURROUND_DIRECT_RIGHT: AVChannel = 34;
1485pub const AVChannel_AV_CHAN_LOW_FREQUENCY_2: AVChannel = 35;
1486pub const AVChannel_AV_CHAN_TOP_SIDE_LEFT: AVChannel = 36;
1487pub const AVChannel_AV_CHAN_TOP_SIDE_RIGHT: AVChannel = 37;
1488pub const AVChannel_AV_CHAN_BOTTOM_FRONT_CENTER: AVChannel = 38;
1489pub const AVChannel_AV_CHAN_BOTTOM_FRONT_LEFT: AVChannel = 39;
1490pub const AVChannel_AV_CHAN_BOTTOM_FRONT_RIGHT: AVChannel = 40;
1491pub const AVChannel_AV_CHAN_SIDE_SURROUND_LEFT: AVChannel = 41;
1492pub const AVChannel_AV_CHAN_SIDE_SURROUND_RIGHT: AVChannel = 42;
1493pub const AVChannel_AV_CHAN_TOP_SURROUND_LEFT: AVChannel = 43;
1494pub const AVChannel_AV_CHAN_TOP_SURROUND_RIGHT: AVChannel = 44;
1495pub const AVChannel_AV_CHAN_UNUSED: AVChannel = 512;
1496pub const AVChannel_AV_CHAN_UNKNOWN: AVChannel = 768;
1497pub const AVChannel_AV_CHAN_AMBISONIC_BASE: AVChannel = 1024;
1498pub const AVChannel_AV_CHAN_AMBISONIC_END: AVChannel = 2047;
1499pub type AVChannel = ::std::os::raw::c_int;
1500pub const AVChannelOrder_AV_CHANNEL_ORDER_UNSPEC: AVChannelOrder = 0;
1501pub const AVChannelOrder_AV_CHANNEL_ORDER_NATIVE: AVChannelOrder = 1;
1502pub const AVChannelOrder_AV_CHANNEL_ORDER_CUSTOM: AVChannelOrder = 2;
1503pub const AVChannelOrder_AV_CHANNEL_ORDER_AMBISONIC: AVChannelOrder = 3;
1504pub const AVChannelOrder_FF_CHANNEL_ORDER_NB: AVChannelOrder = 4;
1505pub type AVChannelOrder = ::std::os::raw::c_uint;
1506#[repr(C)]
1507#[derive(Debug, Copy, Clone)]
1508pub struct AVChannelCustom {
1509    pub id: AVChannel,
1510    pub name: [::std::os::raw::c_char; 16usize],
1511    pub opaque: *mut ::std::os::raw::c_void,
1512}
1513#[test]
1514fn bindgen_test_layout_AVChannelCustom() {
1515    const UNINIT: ::std::mem::MaybeUninit<AVChannelCustom> = ::std::mem::MaybeUninit::uninit();
1516    let ptr = UNINIT.as_ptr();
1517    assert_eq!(
1518        ::std::mem::size_of::<AVChannelCustom>(),
1519        32usize,
1520        concat!("Size of: ", stringify!(AVChannelCustom))
1521    );
1522    assert_eq!(
1523        ::std::mem::align_of::<AVChannelCustom>(),
1524        8usize,
1525        concat!("Alignment of ", stringify!(AVChannelCustom))
1526    );
1527    assert_eq!(
1528        unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
1529        0usize,
1530        concat!(
1531            "Offset of field: ",
1532            stringify!(AVChannelCustom),
1533            "::",
1534            stringify!(id)
1535        )
1536    );
1537    assert_eq!(
1538        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
1539        4usize,
1540        concat!(
1541            "Offset of field: ",
1542            stringify!(AVChannelCustom),
1543            "::",
1544            stringify!(name)
1545        )
1546    );
1547    assert_eq!(
1548        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
1549        24usize,
1550        concat!(
1551            "Offset of field: ",
1552            stringify!(AVChannelCustom),
1553            "::",
1554            stringify!(opaque)
1555        )
1556    );
1557}
1558#[repr(C)]
1559#[derive(Copy, Clone)]
1560pub struct AVChannelLayout {
1561    pub order: AVChannelOrder,
1562    pub nb_channels: ::std::os::raw::c_int,
1563    pub u: AVChannelLayout__bindgen_ty_1,
1564    pub opaque: *mut ::std::os::raw::c_void,
1565}
1566#[repr(C)]
1567#[derive(Copy, Clone)]
1568pub union AVChannelLayout__bindgen_ty_1 {
1569    pub mask: u64,
1570    pub map: *mut AVChannelCustom,
1571}
1572#[test]
1573fn bindgen_test_layout_AVChannelLayout__bindgen_ty_1() {
1574    const UNINIT: ::std::mem::MaybeUninit<AVChannelLayout__bindgen_ty_1> =
1575        ::std::mem::MaybeUninit::uninit();
1576    let ptr = UNINIT.as_ptr();
1577    assert_eq!(
1578        ::std::mem::size_of::<AVChannelLayout__bindgen_ty_1>(),
1579        8usize,
1580        concat!("Size of: ", stringify!(AVChannelLayout__bindgen_ty_1))
1581    );
1582    assert_eq!(
1583        ::std::mem::align_of::<AVChannelLayout__bindgen_ty_1>(),
1584        8usize,
1585        concat!("Alignment of ", stringify!(AVChannelLayout__bindgen_ty_1))
1586    );
1587    assert_eq!(
1588        unsafe { ::std::ptr::addr_of!((*ptr).mask) as usize - ptr as usize },
1589        0usize,
1590        concat!(
1591            "Offset of field: ",
1592            stringify!(AVChannelLayout__bindgen_ty_1),
1593            "::",
1594            stringify!(mask)
1595        )
1596    );
1597    assert_eq!(
1598        unsafe { ::std::ptr::addr_of!((*ptr).map) as usize - ptr as usize },
1599        0usize,
1600        concat!(
1601            "Offset of field: ",
1602            stringify!(AVChannelLayout__bindgen_ty_1),
1603            "::",
1604            stringify!(map)
1605        )
1606    );
1607}
1608#[test]
1609fn bindgen_test_layout_AVChannelLayout() {
1610    const UNINIT: ::std::mem::MaybeUninit<AVChannelLayout> = ::std::mem::MaybeUninit::uninit();
1611    let ptr = UNINIT.as_ptr();
1612    assert_eq!(
1613        ::std::mem::size_of::<AVChannelLayout>(),
1614        24usize,
1615        concat!("Size of: ", stringify!(AVChannelLayout))
1616    );
1617    assert_eq!(
1618        ::std::mem::align_of::<AVChannelLayout>(),
1619        8usize,
1620        concat!("Alignment of ", stringify!(AVChannelLayout))
1621    );
1622    assert_eq!(
1623        unsafe { ::std::ptr::addr_of!((*ptr).order) as usize - ptr as usize },
1624        0usize,
1625        concat!(
1626            "Offset of field: ",
1627            stringify!(AVChannelLayout),
1628            "::",
1629            stringify!(order)
1630        )
1631    );
1632    assert_eq!(
1633        unsafe { ::std::ptr::addr_of!((*ptr).nb_channels) as usize - ptr as usize },
1634        4usize,
1635        concat!(
1636            "Offset of field: ",
1637            stringify!(AVChannelLayout),
1638            "::",
1639            stringify!(nb_channels)
1640        )
1641    );
1642    assert_eq!(
1643        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
1644        8usize,
1645        concat!(
1646            "Offset of field: ",
1647            stringify!(AVChannelLayout),
1648            "::",
1649            stringify!(u)
1650        )
1651    );
1652    assert_eq!(
1653        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
1654        16usize,
1655        concat!(
1656            "Offset of field: ",
1657            stringify!(AVChannelLayout),
1658            "::",
1659            stringify!(opaque)
1660        )
1661    );
1662}
1663#[repr(C)]
1664#[derive(Debug, Copy, Clone)]
1665pub struct AVBPrint {
1666    _unused: [u8; 0],
1667}
1668extern "C" {
1669    pub fn av_channel_name(
1670        buf: *mut ::std::os::raw::c_char,
1671        buf_size: usize,
1672        channel: AVChannel,
1673    ) -> ::std::os::raw::c_int;
1674}
1675extern "C" {
1676    pub fn av_channel_name_bprint(bp: *mut AVBPrint, channel_id: AVChannel);
1677}
1678extern "C" {
1679    pub fn av_channel_description(
1680        buf: *mut ::std::os::raw::c_char,
1681        buf_size: usize,
1682        channel: AVChannel,
1683    ) -> ::std::os::raw::c_int;
1684}
1685extern "C" {
1686    pub fn av_channel_description_bprint(bp: *mut AVBPrint, channel_id: AVChannel);
1687}
1688extern "C" {
1689    pub fn av_channel_from_string(name: *const ::std::os::raw::c_char) -> AVChannel;
1690}
1691extern "C" {
1692    pub fn av_channel_layout_custom_init(
1693        channel_layout: *mut AVChannelLayout,
1694        nb_channels: ::std::os::raw::c_int,
1695    ) -> ::std::os::raw::c_int;
1696}
1697extern "C" {
1698    pub fn av_channel_layout_from_mask(
1699        channel_layout: *mut AVChannelLayout,
1700        mask: u64,
1701    ) -> ::std::os::raw::c_int;
1702}
1703extern "C" {
1704    pub fn av_channel_layout_from_string(
1705        channel_layout: *mut AVChannelLayout,
1706        str_: *const ::std::os::raw::c_char,
1707    ) -> ::std::os::raw::c_int;
1708}
1709extern "C" {
1710    pub fn av_channel_layout_default(
1711        ch_layout: *mut AVChannelLayout,
1712        nb_channels: ::std::os::raw::c_int,
1713    );
1714}
1715extern "C" {
1716    pub fn av_channel_layout_standard(
1717        opaque: *mut *mut ::std::os::raw::c_void,
1718    ) -> *const AVChannelLayout;
1719}
1720extern "C" {
1721    pub fn av_channel_layout_uninit(channel_layout: *mut AVChannelLayout);
1722}
1723extern "C" {
1724    pub fn av_channel_layout_copy(
1725        dst: *mut AVChannelLayout,
1726        src: *const AVChannelLayout,
1727    ) -> ::std::os::raw::c_int;
1728}
1729extern "C" {
1730    pub fn av_channel_layout_describe(
1731        channel_layout: *const AVChannelLayout,
1732        buf: *mut ::std::os::raw::c_char,
1733        buf_size: usize,
1734    ) -> ::std::os::raw::c_int;
1735}
1736extern "C" {
1737    pub fn av_channel_layout_describe_bprint(
1738        channel_layout: *const AVChannelLayout,
1739        bp: *mut AVBPrint,
1740    ) -> ::std::os::raw::c_int;
1741}
1742extern "C" {
1743    pub fn av_channel_layout_channel_from_index(
1744        channel_layout: *const AVChannelLayout,
1745        idx: ::std::os::raw::c_uint,
1746    ) -> AVChannel;
1747}
1748extern "C" {
1749    pub fn av_channel_layout_index_from_channel(
1750        channel_layout: *const AVChannelLayout,
1751        channel: AVChannel,
1752    ) -> ::std::os::raw::c_int;
1753}
1754extern "C" {
1755    pub fn av_channel_layout_index_from_string(
1756        channel_layout: *const AVChannelLayout,
1757        name: *const ::std::os::raw::c_char,
1758    ) -> ::std::os::raw::c_int;
1759}
1760extern "C" {
1761    pub fn av_channel_layout_channel_from_string(
1762        channel_layout: *const AVChannelLayout,
1763        name: *const ::std::os::raw::c_char,
1764    ) -> AVChannel;
1765}
1766extern "C" {
1767    pub fn av_channel_layout_subset(channel_layout: *const AVChannelLayout, mask: u64) -> u64;
1768}
1769extern "C" {
1770    pub fn av_channel_layout_check(channel_layout: *const AVChannelLayout)
1771        -> ::std::os::raw::c_int;
1772}
1773extern "C" {
1774    pub fn av_channel_layout_compare(
1775        chl: *const AVChannelLayout,
1776        chl1: *const AVChannelLayout,
1777    ) -> ::std::os::raw::c_int;
1778}
1779extern "C" {
1780    pub fn av_channel_layout_ambisonic_order(
1781        channel_layout: *const AVChannelLayout,
1782    ) -> ::std::os::raw::c_int;
1783}
1784extern "C" {
1785    pub fn av_channel_layout_retype(
1786        channel_layout: *mut AVChannelLayout,
1787        order: AVChannelOrder,
1788        flags: ::std::os::raw::c_int,
1789    ) -> ::std::os::raw::c_int;
1790}
1791#[repr(C)]
1792#[derive(Debug, Copy, Clone)]
1793pub struct AVDictionaryEntry {
1794    pub key: *mut ::std::os::raw::c_char,
1795    pub value: *mut ::std::os::raw::c_char,
1796}
1797#[test]
1798fn bindgen_test_layout_AVDictionaryEntry() {
1799    const UNINIT: ::std::mem::MaybeUninit<AVDictionaryEntry> = ::std::mem::MaybeUninit::uninit();
1800    let ptr = UNINIT.as_ptr();
1801    assert_eq!(
1802        ::std::mem::size_of::<AVDictionaryEntry>(),
1803        16usize,
1804        concat!("Size of: ", stringify!(AVDictionaryEntry))
1805    );
1806    assert_eq!(
1807        ::std::mem::align_of::<AVDictionaryEntry>(),
1808        8usize,
1809        concat!("Alignment of ", stringify!(AVDictionaryEntry))
1810    );
1811    assert_eq!(
1812        unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
1813        0usize,
1814        concat!(
1815            "Offset of field: ",
1816            stringify!(AVDictionaryEntry),
1817            "::",
1818            stringify!(key)
1819        )
1820    );
1821    assert_eq!(
1822        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
1823        8usize,
1824        concat!(
1825            "Offset of field: ",
1826            stringify!(AVDictionaryEntry),
1827            "::",
1828            stringify!(value)
1829        )
1830    );
1831}
1832#[repr(C)]
1833#[derive(Debug, Copy, Clone)]
1834pub struct AVDictionary {
1835    _unused: [u8; 0],
1836}
1837extern "C" {
1838    pub fn av_dict_get(
1839        m: *const AVDictionary,
1840        key: *const ::std::os::raw::c_char,
1841        prev: *const AVDictionaryEntry,
1842        flags: ::std::os::raw::c_int,
1843    ) -> *mut AVDictionaryEntry;
1844}
1845extern "C" {
1846    pub fn av_dict_iterate(
1847        m: *const AVDictionary,
1848        prev: *const AVDictionaryEntry,
1849    ) -> *const AVDictionaryEntry;
1850}
1851extern "C" {
1852    pub fn av_dict_count(m: *const AVDictionary) -> ::std::os::raw::c_int;
1853}
1854extern "C" {
1855    pub fn av_dict_set(
1856        pm: *mut *mut AVDictionary,
1857        key: *const ::std::os::raw::c_char,
1858        value: *const ::std::os::raw::c_char,
1859        flags: ::std::os::raw::c_int,
1860    ) -> ::std::os::raw::c_int;
1861}
1862extern "C" {
1863    pub fn av_dict_set_int(
1864        pm: *mut *mut AVDictionary,
1865        key: *const ::std::os::raw::c_char,
1866        value: i64,
1867        flags: ::std::os::raw::c_int,
1868    ) -> ::std::os::raw::c_int;
1869}
1870extern "C" {
1871    pub fn av_dict_parse_string(
1872        pm: *mut *mut AVDictionary,
1873        str_: *const ::std::os::raw::c_char,
1874        key_val_sep: *const ::std::os::raw::c_char,
1875        pairs_sep: *const ::std::os::raw::c_char,
1876        flags: ::std::os::raw::c_int,
1877    ) -> ::std::os::raw::c_int;
1878}
1879extern "C" {
1880    pub fn av_dict_copy(
1881        dst: *mut *mut AVDictionary,
1882        src: *const AVDictionary,
1883        flags: ::std::os::raw::c_int,
1884    ) -> ::std::os::raw::c_int;
1885}
1886extern "C" {
1887    pub fn av_dict_free(m: *mut *mut AVDictionary);
1888}
1889extern "C" {
1890    pub fn av_dict_get_string(
1891        m: *const AVDictionary,
1892        buffer: *mut *mut ::std::os::raw::c_char,
1893        key_val_sep: ::std::os::raw::c_char,
1894        pairs_sep: ::std::os::raw::c_char,
1895    ) -> ::std::os::raw::c_int;
1896}
1897pub const AVFrameSideDataType_AV_FRAME_DATA_PANSCAN: AVFrameSideDataType = 0;
1898pub const AVFrameSideDataType_AV_FRAME_DATA_A53_CC: AVFrameSideDataType = 1;
1899pub const AVFrameSideDataType_AV_FRAME_DATA_STEREO3D: AVFrameSideDataType = 2;
1900pub const AVFrameSideDataType_AV_FRAME_DATA_MATRIXENCODING: AVFrameSideDataType = 3;
1901pub const AVFrameSideDataType_AV_FRAME_DATA_DOWNMIX_INFO: AVFrameSideDataType = 4;
1902pub const AVFrameSideDataType_AV_FRAME_DATA_REPLAYGAIN: AVFrameSideDataType = 5;
1903pub const AVFrameSideDataType_AV_FRAME_DATA_DISPLAYMATRIX: AVFrameSideDataType = 6;
1904pub const AVFrameSideDataType_AV_FRAME_DATA_AFD: AVFrameSideDataType = 7;
1905pub const AVFrameSideDataType_AV_FRAME_DATA_MOTION_VECTORS: AVFrameSideDataType = 8;
1906pub const AVFrameSideDataType_AV_FRAME_DATA_SKIP_SAMPLES: AVFrameSideDataType = 9;
1907pub const AVFrameSideDataType_AV_FRAME_DATA_AUDIO_SERVICE_TYPE: AVFrameSideDataType = 10;
1908pub const AVFrameSideDataType_AV_FRAME_DATA_MASTERING_DISPLAY_METADATA: AVFrameSideDataType = 11;
1909pub const AVFrameSideDataType_AV_FRAME_DATA_GOP_TIMECODE: AVFrameSideDataType = 12;
1910pub const AVFrameSideDataType_AV_FRAME_DATA_SPHERICAL: AVFrameSideDataType = 13;
1911pub const AVFrameSideDataType_AV_FRAME_DATA_CONTENT_LIGHT_LEVEL: AVFrameSideDataType = 14;
1912pub const AVFrameSideDataType_AV_FRAME_DATA_ICC_PROFILE: AVFrameSideDataType = 15;
1913pub const AVFrameSideDataType_AV_FRAME_DATA_S12M_TIMECODE: AVFrameSideDataType = 16;
1914pub const AVFrameSideDataType_AV_FRAME_DATA_DYNAMIC_HDR_PLUS: AVFrameSideDataType = 17;
1915pub const AVFrameSideDataType_AV_FRAME_DATA_REGIONS_OF_INTEREST: AVFrameSideDataType = 18;
1916pub const AVFrameSideDataType_AV_FRAME_DATA_VIDEO_ENC_PARAMS: AVFrameSideDataType = 19;
1917pub const AVFrameSideDataType_AV_FRAME_DATA_SEI_UNREGISTERED: AVFrameSideDataType = 20;
1918pub const AVFrameSideDataType_AV_FRAME_DATA_FILM_GRAIN_PARAMS: AVFrameSideDataType = 21;
1919pub const AVFrameSideDataType_AV_FRAME_DATA_DETECTION_BBOXES: AVFrameSideDataType = 22;
1920pub const AVFrameSideDataType_AV_FRAME_DATA_DOVI_RPU_BUFFER: AVFrameSideDataType = 23;
1921pub const AVFrameSideDataType_AV_FRAME_DATA_DOVI_METADATA: AVFrameSideDataType = 24;
1922pub const AVFrameSideDataType_AV_FRAME_DATA_DYNAMIC_HDR_VIVID: AVFrameSideDataType = 25;
1923pub const AVFrameSideDataType_AV_FRAME_DATA_AMBIENT_VIEWING_ENVIRONMENT: AVFrameSideDataType = 26;
1924pub const AVFrameSideDataType_AV_FRAME_DATA_VIDEO_HINT: AVFrameSideDataType = 27;
1925pub const AVFrameSideDataType_AV_FRAME_DATA_LCEVC: AVFrameSideDataType = 28;
1926pub const AVFrameSideDataType_AV_FRAME_DATA_VIEW_ID: AVFrameSideDataType = 29;
1927pub type AVFrameSideDataType = ::std::os::raw::c_uint;
1928#[repr(C)]
1929#[derive(Debug, Copy, Clone)]
1930pub struct AVFrameSideData {
1931    pub type_: AVFrameSideDataType,
1932    pub data: *mut u8,
1933    pub size: usize,
1934    pub metadata: *mut AVDictionary,
1935    pub buf: *mut AVBufferRef,
1936}
1937#[test]
1938fn bindgen_test_layout_AVFrameSideData() {
1939    const UNINIT: ::std::mem::MaybeUninit<AVFrameSideData> = ::std::mem::MaybeUninit::uninit();
1940    let ptr = UNINIT.as_ptr();
1941    assert_eq!(
1942        ::std::mem::size_of::<AVFrameSideData>(),
1943        40usize,
1944        concat!("Size of: ", stringify!(AVFrameSideData))
1945    );
1946    assert_eq!(
1947        ::std::mem::align_of::<AVFrameSideData>(),
1948        8usize,
1949        concat!("Alignment of ", stringify!(AVFrameSideData))
1950    );
1951    assert_eq!(
1952        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
1953        0usize,
1954        concat!(
1955            "Offset of field: ",
1956            stringify!(AVFrameSideData),
1957            "::",
1958            stringify!(type_)
1959        )
1960    );
1961    assert_eq!(
1962        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
1963        8usize,
1964        concat!(
1965            "Offset of field: ",
1966            stringify!(AVFrameSideData),
1967            "::",
1968            stringify!(data)
1969        )
1970    );
1971    assert_eq!(
1972        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
1973        16usize,
1974        concat!(
1975            "Offset of field: ",
1976            stringify!(AVFrameSideData),
1977            "::",
1978            stringify!(size)
1979        )
1980    );
1981    assert_eq!(
1982        unsafe { ::std::ptr::addr_of!((*ptr).metadata) as usize - ptr as usize },
1983        24usize,
1984        concat!(
1985            "Offset of field: ",
1986            stringify!(AVFrameSideData),
1987            "::",
1988            stringify!(metadata)
1989        )
1990    );
1991    assert_eq!(
1992        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
1993        32usize,
1994        concat!(
1995            "Offset of field: ",
1996            stringify!(AVFrameSideData),
1997            "::",
1998            stringify!(buf)
1999        )
2000    );
2001}
2002#[repr(C)]
2003#[derive(Debug, Copy, Clone)]
2004pub struct AVSideDataDescriptor {
2005    pub name: *const ::std::os::raw::c_char,
2006    pub props: ::std::os::raw::c_uint,
2007}
2008#[test]
2009fn bindgen_test_layout_AVSideDataDescriptor() {
2010    const UNINIT: ::std::mem::MaybeUninit<AVSideDataDescriptor> = ::std::mem::MaybeUninit::uninit();
2011    let ptr = UNINIT.as_ptr();
2012    assert_eq!(
2013        ::std::mem::size_of::<AVSideDataDescriptor>(),
2014        16usize,
2015        concat!("Size of: ", stringify!(AVSideDataDescriptor))
2016    );
2017    assert_eq!(
2018        ::std::mem::align_of::<AVSideDataDescriptor>(),
2019        8usize,
2020        concat!("Alignment of ", stringify!(AVSideDataDescriptor))
2021    );
2022    assert_eq!(
2023        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
2024        0usize,
2025        concat!(
2026            "Offset of field: ",
2027            stringify!(AVSideDataDescriptor),
2028            "::",
2029            stringify!(name)
2030        )
2031    );
2032    assert_eq!(
2033        unsafe { ::std::ptr::addr_of!((*ptr).props) as usize - ptr as usize },
2034        8usize,
2035        concat!(
2036            "Offset of field: ",
2037            stringify!(AVSideDataDescriptor),
2038            "::",
2039            stringify!(props)
2040        )
2041    );
2042}
2043#[repr(C)]
2044#[derive(Copy, Clone)]
2045pub struct AVFrame {
2046    pub data: [*mut u8; 8usize],
2047    pub linesize: [::std::os::raw::c_int; 8usize],
2048    pub extended_data: *mut *mut u8,
2049    pub width: ::std::os::raw::c_int,
2050    pub height: ::std::os::raw::c_int,
2051    pub nb_samples: ::std::os::raw::c_int,
2052    pub format: ::std::os::raw::c_int,
2053    pub key_frame: ::std::os::raw::c_int,
2054    pub pict_type: AVPictureType,
2055    pub sample_aspect_ratio: AVRational,
2056    pub pts: i64,
2057    pub pkt_dts: i64,
2058    pub time_base: AVRational,
2059    pub quality: ::std::os::raw::c_int,
2060    pub opaque: *mut ::std::os::raw::c_void,
2061    pub repeat_pict: ::std::os::raw::c_int,
2062    pub interlaced_frame: ::std::os::raw::c_int,
2063    pub top_field_first: ::std::os::raw::c_int,
2064    pub palette_has_changed: ::std::os::raw::c_int,
2065    pub sample_rate: ::std::os::raw::c_int,
2066    pub buf: [*mut AVBufferRef; 8usize],
2067    pub extended_buf: *mut *mut AVBufferRef,
2068    pub nb_extended_buf: ::std::os::raw::c_int,
2069    pub side_data: *mut *mut AVFrameSideData,
2070    pub nb_side_data: ::std::os::raw::c_int,
2071    pub flags: ::std::os::raw::c_int,
2072    pub color_range: AVColorRange,
2073    pub color_primaries: AVColorPrimaries,
2074    pub color_trc: AVColorTransferCharacteristic,
2075    pub colorspace: AVColorSpace,
2076    pub chroma_location: AVChromaLocation,
2077    pub best_effort_timestamp: i64,
2078    pub pkt_pos: i64,
2079    pub metadata: *mut AVDictionary,
2080    pub decode_error_flags: ::std::os::raw::c_int,
2081    pub pkt_size: ::std::os::raw::c_int,
2082    pub hw_frames_ctx: *mut AVBufferRef,
2083    pub opaque_ref: *mut AVBufferRef,
2084    pub crop_top: usize,
2085    pub crop_bottom: usize,
2086    pub crop_left: usize,
2087    pub crop_right: usize,
2088    pub private_ref: *mut AVBufferRef,
2089    pub ch_layout: AVChannelLayout,
2090    pub duration: i64,
2091}
2092#[test]
2093fn bindgen_test_layout_AVFrame() {
2094    const UNINIT: ::std::mem::MaybeUninit<AVFrame> = ::std::mem::MaybeUninit::uninit();
2095    let ptr = UNINIT.as_ptr();
2096    assert_eq!(
2097        ::std::mem::size_of::<AVFrame>(),
2098        440usize,
2099        concat!("Size of: ", stringify!(AVFrame))
2100    );
2101    assert_eq!(
2102        ::std::mem::align_of::<AVFrame>(),
2103        8usize,
2104        concat!("Alignment of ", stringify!(AVFrame))
2105    );
2106    assert_eq!(
2107        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
2108        0usize,
2109        concat!(
2110            "Offset of field: ",
2111            stringify!(AVFrame),
2112            "::",
2113            stringify!(data)
2114        )
2115    );
2116    assert_eq!(
2117        unsafe { ::std::ptr::addr_of!((*ptr).linesize) as usize - ptr as usize },
2118        64usize,
2119        concat!(
2120            "Offset of field: ",
2121            stringify!(AVFrame),
2122            "::",
2123            stringify!(linesize)
2124        )
2125    );
2126    assert_eq!(
2127        unsafe { ::std::ptr::addr_of!((*ptr).extended_data) as usize - ptr as usize },
2128        96usize,
2129        concat!(
2130            "Offset of field: ",
2131            stringify!(AVFrame),
2132            "::",
2133            stringify!(extended_data)
2134        )
2135    );
2136    assert_eq!(
2137        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
2138        104usize,
2139        concat!(
2140            "Offset of field: ",
2141            stringify!(AVFrame),
2142            "::",
2143            stringify!(width)
2144        )
2145    );
2146    assert_eq!(
2147        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
2148        108usize,
2149        concat!(
2150            "Offset of field: ",
2151            stringify!(AVFrame),
2152            "::",
2153            stringify!(height)
2154        )
2155    );
2156    assert_eq!(
2157        unsafe { ::std::ptr::addr_of!((*ptr).nb_samples) as usize - ptr as usize },
2158        112usize,
2159        concat!(
2160            "Offset of field: ",
2161            stringify!(AVFrame),
2162            "::",
2163            stringify!(nb_samples)
2164        )
2165    );
2166    assert_eq!(
2167        unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
2168        116usize,
2169        concat!(
2170            "Offset of field: ",
2171            stringify!(AVFrame),
2172            "::",
2173            stringify!(format)
2174        )
2175    );
2176    assert_eq!(
2177        unsafe { ::std::ptr::addr_of!((*ptr).key_frame) as usize - ptr as usize },
2178        120usize,
2179        concat!(
2180            "Offset of field: ",
2181            stringify!(AVFrame),
2182            "::",
2183            stringify!(key_frame)
2184        )
2185    );
2186    assert_eq!(
2187        unsafe { ::std::ptr::addr_of!((*ptr).pict_type) as usize - ptr as usize },
2188        124usize,
2189        concat!(
2190            "Offset of field: ",
2191            stringify!(AVFrame),
2192            "::",
2193            stringify!(pict_type)
2194        )
2195    );
2196    assert_eq!(
2197        unsafe { ::std::ptr::addr_of!((*ptr).sample_aspect_ratio) as usize - ptr as usize },
2198        128usize,
2199        concat!(
2200            "Offset of field: ",
2201            stringify!(AVFrame),
2202            "::",
2203            stringify!(sample_aspect_ratio)
2204        )
2205    );
2206    assert_eq!(
2207        unsafe { ::std::ptr::addr_of!((*ptr).pts) as usize - ptr as usize },
2208        136usize,
2209        concat!(
2210            "Offset of field: ",
2211            stringify!(AVFrame),
2212            "::",
2213            stringify!(pts)
2214        )
2215    );
2216    assert_eq!(
2217        unsafe { ::std::ptr::addr_of!((*ptr).pkt_dts) as usize - ptr as usize },
2218        144usize,
2219        concat!(
2220            "Offset of field: ",
2221            stringify!(AVFrame),
2222            "::",
2223            stringify!(pkt_dts)
2224        )
2225    );
2226    assert_eq!(
2227        unsafe { ::std::ptr::addr_of!((*ptr).time_base) as usize - ptr as usize },
2228        152usize,
2229        concat!(
2230            "Offset of field: ",
2231            stringify!(AVFrame),
2232            "::",
2233            stringify!(time_base)
2234        )
2235    );
2236    assert_eq!(
2237        unsafe { ::std::ptr::addr_of!((*ptr).quality) as usize - ptr as usize },
2238        160usize,
2239        concat!(
2240            "Offset of field: ",
2241            stringify!(AVFrame),
2242            "::",
2243            stringify!(quality)
2244        )
2245    );
2246    assert_eq!(
2247        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
2248        168usize,
2249        concat!(
2250            "Offset of field: ",
2251            stringify!(AVFrame),
2252            "::",
2253            stringify!(opaque)
2254        )
2255    );
2256    assert_eq!(
2257        unsafe { ::std::ptr::addr_of!((*ptr).repeat_pict) as usize - ptr as usize },
2258        176usize,
2259        concat!(
2260            "Offset of field: ",
2261            stringify!(AVFrame),
2262            "::",
2263            stringify!(repeat_pict)
2264        )
2265    );
2266    assert_eq!(
2267        unsafe { ::std::ptr::addr_of!((*ptr).interlaced_frame) as usize - ptr as usize },
2268        180usize,
2269        concat!(
2270            "Offset of field: ",
2271            stringify!(AVFrame),
2272            "::",
2273            stringify!(interlaced_frame)
2274        )
2275    );
2276    assert_eq!(
2277        unsafe { ::std::ptr::addr_of!((*ptr).top_field_first) as usize - ptr as usize },
2278        184usize,
2279        concat!(
2280            "Offset of field: ",
2281            stringify!(AVFrame),
2282            "::",
2283            stringify!(top_field_first)
2284        )
2285    );
2286    assert_eq!(
2287        unsafe { ::std::ptr::addr_of!((*ptr).palette_has_changed) as usize - ptr as usize },
2288        188usize,
2289        concat!(
2290            "Offset of field: ",
2291            stringify!(AVFrame),
2292            "::",
2293            stringify!(palette_has_changed)
2294        )
2295    );
2296    assert_eq!(
2297        unsafe { ::std::ptr::addr_of!((*ptr).sample_rate) as usize - ptr as usize },
2298        192usize,
2299        concat!(
2300            "Offset of field: ",
2301            stringify!(AVFrame),
2302            "::",
2303            stringify!(sample_rate)
2304        )
2305    );
2306    assert_eq!(
2307        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
2308        200usize,
2309        concat!(
2310            "Offset of field: ",
2311            stringify!(AVFrame),
2312            "::",
2313            stringify!(buf)
2314        )
2315    );
2316    assert_eq!(
2317        unsafe { ::std::ptr::addr_of!((*ptr).extended_buf) as usize - ptr as usize },
2318        264usize,
2319        concat!(
2320            "Offset of field: ",
2321            stringify!(AVFrame),
2322            "::",
2323            stringify!(extended_buf)
2324        )
2325    );
2326    assert_eq!(
2327        unsafe { ::std::ptr::addr_of!((*ptr).nb_extended_buf) as usize - ptr as usize },
2328        272usize,
2329        concat!(
2330            "Offset of field: ",
2331            stringify!(AVFrame),
2332            "::",
2333            stringify!(nb_extended_buf)
2334        )
2335    );
2336    assert_eq!(
2337        unsafe { ::std::ptr::addr_of!((*ptr).side_data) as usize - ptr as usize },
2338        280usize,
2339        concat!(
2340            "Offset of field: ",
2341            stringify!(AVFrame),
2342            "::",
2343            stringify!(side_data)
2344        )
2345    );
2346    assert_eq!(
2347        unsafe { ::std::ptr::addr_of!((*ptr).nb_side_data) as usize - ptr as usize },
2348        288usize,
2349        concat!(
2350            "Offset of field: ",
2351            stringify!(AVFrame),
2352            "::",
2353            stringify!(nb_side_data)
2354        )
2355    );
2356    assert_eq!(
2357        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
2358        292usize,
2359        concat!(
2360            "Offset of field: ",
2361            stringify!(AVFrame),
2362            "::",
2363            stringify!(flags)
2364        )
2365    );
2366    assert_eq!(
2367        unsafe { ::std::ptr::addr_of!((*ptr).color_range) as usize - ptr as usize },
2368        296usize,
2369        concat!(
2370            "Offset of field: ",
2371            stringify!(AVFrame),
2372            "::",
2373            stringify!(color_range)
2374        )
2375    );
2376    assert_eq!(
2377        unsafe { ::std::ptr::addr_of!((*ptr).color_primaries) as usize - ptr as usize },
2378        300usize,
2379        concat!(
2380            "Offset of field: ",
2381            stringify!(AVFrame),
2382            "::",
2383            stringify!(color_primaries)
2384        )
2385    );
2386    assert_eq!(
2387        unsafe { ::std::ptr::addr_of!((*ptr).color_trc) as usize - ptr as usize },
2388        304usize,
2389        concat!(
2390            "Offset of field: ",
2391            stringify!(AVFrame),
2392            "::",
2393            stringify!(color_trc)
2394        )
2395    );
2396    assert_eq!(
2397        unsafe { ::std::ptr::addr_of!((*ptr).colorspace) as usize - ptr as usize },
2398        308usize,
2399        concat!(
2400            "Offset of field: ",
2401            stringify!(AVFrame),
2402            "::",
2403            stringify!(colorspace)
2404        )
2405    );
2406    assert_eq!(
2407        unsafe { ::std::ptr::addr_of!((*ptr).chroma_location) as usize - ptr as usize },
2408        312usize,
2409        concat!(
2410            "Offset of field: ",
2411            stringify!(AVFrame),
2412            "::",
2413            stringify!(chroma_location)
2414        )
2415    );
2416    assert_eq!(
2417        unsafe { ::std::ptr::addr_of!((*ptr).best_effort_timestamp) as usize - ptr as usize },
2418        320usize,
2419        concat!(
2420            "Offset of field: ",
2421            stringify!(AVFrame),
2422            "::",
2423            stringify!(best_effort_timestamp)
2424        )
2425    );
2426    assert_eq!(
2427        unsafe { ::std::ptr::addr_of!((*ptr).pkt_pos) as usize - ptr as usize },
2428        328usize,
2429        concat!(
2430            "Offset of field: ",
2431            stringify!(AVFrame),
2432            "::",
2433            stringify!(pkt_pos)
2434        )
2435    );
2436    assert_eq!(
2437        unsafe { ::std::ptr::addr_of!((*ptr).metadata) as usize - ptr as usize },
2438        336usize,
2439        concat!(
2440            "Offset of field: ",
2441            stringify!(AVFrame),
2442            "::",
2443            stringify!(metadata)
2444        )
2445    );
2446    assert_eq!(
2447        unsafe { ::std::ptr::addr_of!((*ptr).decode_error_flags) as usize - ptr as usize },
2448        344usize,
2449        concat!(
2450            "Offset of field: ",
2451            stringify!(AVFrame),
2452            "::",
2453            stringify!(decode_error_flags)
2454        )
2455    );
2456    assert_eq!(
2457        unsafe { ::std::ptr::addr_of!((*ptr).pkt_size) as usize - ptr as usize },
2458        348usize,
2459        concat!(
2460            "Offset of field: ",
2461            stringify!(AVFrame),
2462            "::",
2463            stringify!(pkt_size)
2464        )
2465    );
2466    assert_eq!(
2467        unsafe { ::std::ptr::addr_of!((*ptr).hw_frames_ctx) as usize - ptr as usize },
2468        352usize,
2469        concat!(
2470            "Offset of field: ",
2471            stringify!(AVFrame),
2472            "::",
2473            stringify!(hw_frames_ctx)
2474        )
2475    );
2476    assert_eq!(
2477        unsafe { ::std::ptr::addr_of!((*ptr).opaque_ref) as usize - ptr as usize },
2478        360usize,
2479        concat!(
2480            "Offset of field: ",
2481            stringify!(AVFrame),
2482            "::",
2483            stringify!(opaque_ref)
2484        )
2485    );
2486    assert_eq!(
2487        unsafe { ::std::ptr::addr_of!((*ptr).crop_top) as usize - ptr as usize },
2488        368usize,
2489        concat!(
2490            "Offset of field: ",
2491            stringify!(AVFrame),
2492            "::",
2493            stringify!(crop_top)
2494        )
2495    );
2496    assert_eq!(
2497        unsafe { ::std::ptr::addr_of!((*ptr).crop_bottom) as usize - ptr as usize },
2498        376usize,
2499        concat!(
2500            "Offset of field: ",
2501            stringify!(AVFrame),
2502            "::",
2503            stringify!(crop_bottom)
2504        )
2505    );
2506    assert_eq!(
2507        unsafe { ::std::ptr::addr_of!((*ptr).crop_left) as usize - ptr as usize },
2508        384usize,
2509        concat!(
2510            "Offset of field: ",
2511            stringify!(AVFrame),
2512            "::",
2513            stringify!(crop_left)
2514        )
2515    );
2516    assert_eq!(
2517        unsafe { ::std::ptr::addr_of!((*ptr).crop_right) as usize - ptr as usize },
2518        392usize,
2519        concat!(
2520            "Offset of field: ",
2521            stringify!(AVFrame),
2522            "::",
2523            stringify!(crop_right)
2524        )
2525    );
2526    assert_eq!(
2527        unsafe { ::std::ptr::addr_of!((*ptr).private_ref) as usize - ptr as usize },
2528        400usize,
2529        concat!(
2530            "Offset of field: ",
2531            stringify!(AVFrame),
2532            "::",
2533            stringify!(private_ref)
2534        )
2535    );
2536    assert_eq!(
2537        unsafe { ::std::ptr::addr_of!((*ptr).ch_layout) as usize - ptr as usize },
2538        408usize,
2539        concat!(
2540            "Offset of field: ",
2541            stringify!(AVFrame),
2542            "::",
2543            stringify!(ch_layout)
2544        )
2545    );
2546    assert_eq!(
2547        unsafe { ::std::ptr::addr_of!((*ptr).duration) as usize - ptr as usize },
2548        432usize,
2549        concat!(
2550            "Offset of field: ",
2551            stringify!(AVFrame),
2552            "::",
2553            stringify!(duration)
2554        )
2555    );
2556}
2557extern "C" {
2558    pub fn av_frame_alloc() -> *mut AVFrame;
2559}
2560extern "C" {
2561    pub fn av_frame_free(frame: *mut *mut AVFrame);
2562}
2563extern "C" {
2564    pub fn av_frame_ref(dst: *mut AVFrame, src: *const AVFrame) -> ::std::os::raw::c_int;
2565}
2566extern "C" {
2567    pub fn av_frame_replace(dst: *mut AVFrame, src: *const AVFrame) -> ::std::os::raw::c_int;
2568}
2569extern "C" {
2570    pub fn av_frame_clone(src: *const AVFrame) -> *mut AVFrame;
2571}
2572extern "C" {
2573    pub fn av_frame_unref(frame: *mut AVFrame);
2574}
2575extern "C" {
2576    pub fn av_frame_move_ref(dst: *mut AVFrame, src: *mut AVFrame);
2577}
2578extern "C" {
2579    pub fn av_frame_get_buffer(
2580        frame: *mut AVFrame,
2581        align: ::std::os::raw::c_int,
2582    ) -> ::std::os::raw::c_int;
2583}
2584extern "C" {
2585    pub fn av_frame_is_writable(frame: *mut AVFrame) -> ::std::os::raw::c_int;
2586}
2587extern "C" {
2588    pub fn av_frame_make_writable(frame: *mut AVFrame) -> ::std::os::raw::c_int;
2589}
2590extern "C" {
2591    pub fn av_frame_copy(dst: *mut AVFrame, src: *const AVFrame) -> ::std::os::raw::c_int;
2592}
2593extern "C" {
2594    pub fn av_frame_copy_props(dst: *mut AVFrame, src: *const AVFrame) -> ::std::os::raw::c_int;
2595}
2596extern "C" {
2597    pub fn av_frame_get_plane_buffer(
2598        frame: *const AVFrame,
2599        plane: ::std::os::raw::c_int,
2600    ) -> *mut AVBufferRef;
2601}
2602extern "C" {
2603    pub fn av_frame_new_side_data(
2604        frame: *mut AVFrame,
2605        type_: AVFrameSideDataType,
2606        size: usize,
2607    ) -> *mut AVFrameSideData;
2608}
2609extern "C" {
2610    pub fn av_frame_new_side_data_from_buf(
2611        frame: *mut AVFrame,
2612        type_: AVFrameSideDataType,
2613        buf: *mut AVBufferRef,
2614    ) -> *mut AVFrameSideData;
2615}
2616extern "C" {
2617    pub fn av_frame_get_side_data(
2618        frame: *const AVFrame,
2619        type_: AVFrameSideDataType,
2620    ) -> *mut AVFrameSideData;
2621}
2622extern "C" {
2623    pub fn av_frame_remove_side_data(frame: *mut AVFrame, type_: AVFrameSideDataType);
2624}
2625pub const AV_FRAME_CROP_UNALIGNED: _bindgen_ty_2 = 1;
2626pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
2627extern "C" {
2628    pub fn av_frame_apply_cropping(
2629        frame: *mut AVFrame,
2630        flags: ::std::os::raw::c_int,
2631    ) -> ::std::os::raw::c_int;
2632}
2633extern "C" {
2634    pub fn av_frame_side_data_name(type_: AVFrameSideDataType) -> *const ::std::os::raw::c_char;
2635}
2636extern "C" {
2637    pub fn av_frame_side_data_desc(type_: AVFrameSideDataType) -> *const AVSideDataDescriptor;
2638}
2639extern "C" {
2640    pub fn av_frame_side_data_free(
2641        sd: *mut *mut *mut AVFrameSideData,
2642        nb_sd: *mut ::std::os::raw::c_int,
2643    );
2644}
2645extern "C" {
2646    pub fn av_frame_side_data_new(
2647        sd: *mut *mut *mut AVFrameSideData,
2648        nb_sd: *mut ::std::os::raw::c_int,
2649        type_: AVFrameSideDataType,
2650        size: usize,
2651        flags: ::std::os::raw::c_uint,
2652    ) -> *mut AVFrameSideData;
2653}
2654extern "C" {
2655    pub fn av_frame_side_data_add(
2656        sd: *mut *mut *mut AVFrameSideData,
2657        nb_sd: *mut ::std::os::raw::c_int,
2658        type_: AVFrameSideDataType,
2659        buf: *mut *mut AVBufferRef,
2660        flags: ::std::os::raw::c_uint,
2661    ) -> *mut AVFrameSideData;
2662}
2663extern "C" {
2664    pub fn av_frame_side_data_clone(
2665        sd: *mut *mut *mut AVFrameSideData,
2666        nb_sd: *mut ::std::os::raw::c_int,
2667        src: *const AVFrameSideData,
2668        flags: ::std::os::raw::c_uint,
2669    ) -> ::std::os::raw::c_int;
2670}
2671extern "C" {
2672    pub fn av_frame_side_data_get_c(
2673        sd: *const *const AVFrameSideData,
2674        nb_sd: ::std::os::raw::c_int,
2675        type_: AVFrameSideDataType,
2676    ) -> *const AVFrameSideData;
2677}
2678extern "C" {
2679    pub fn av_frame_side_data_remove(
2680        sd: *mut *mut *mut AVFrameSideData,
2681        nb_sd: *mut ::std::os::raw::c_int,
2682        type_: AVFrameSideDataType,
2683    );
2684}
2685pub const AVHWDeviceType_AV_HWDEVICE_TYPE_NONE: AVHWDeviceType = 0;
2686pub const AVHWDeviceType_AV_HWDEVICE_TYPE_VDPAU: AVHWDeviceType = 1;
2687pub const AVHWDeviceType_AV_HWDEVICE_TYPE_CUDA: AVHWDeviceType = 2;
2688pub const AVHWDeviceType_AV_HWDEVICE_TYPE_VAAPI: AVHWDeviceType = 3;
2689pub const AVHWDeviceType_AV_HWDEVICE_TYPE_DXVA2: AVHWDeviceType = 4;
2690pub const AVHWDeviceType_AV_HWDEVICE_TYPE_QSV: AVHWDeviceType = 5;
2691pub const AVHWDeviceType_AV_HWDEVICE_TYPE_VIDEOTOOLBOX: AVHWDeviceType = 6;
2692pub const AVHWDeviceType_AV_HWDEVICE_TYPE_D3D11VA: AVHWDeviceType = 7;
2693pub const AVHWDeviceType_AV_HWDEVICE_TYPE_DRM: AVHWDeviceType = 8;
2694pub const AVHWDeviceType_AV_HWDEVICE_TYPE_OPENCL: AVHWDeviceType = 9;
2695pub const AVHWDeviceType_AV_HWDEVICE_TYPE_MEDIACODEC: AVHWDeviceType = 10;
2696pub const AVHWDeviceType_AV_HWDEVICE_TYPE_VULKAN: AVHWDeviceType = 11;
2697pub const AVHWDeviceType_AV_HWDEVICE_TYPE_D3D12VA: AVHWDeviceType = 12;
2698pub type AVHWDeviceType = ::std::os::raw::c_uint;
2699extern "C" {
2700    pub fn av_hwdevice_find_type_by_name(name: *const ::std::os::raw::c_char) -> AVHWDeviceType;
2701}
2702extern "C" {
2703    pub fn av_hwdevice_get_type_name(type_: AVHWDeviceType) -> *const ::std::os::raw::c_char;
2704}
2705extern "C" {
2706    pub fn av_hwdevice_iterate_types(prev: AVHWDeviceType) -> AVHWDeviceType;
2707}
2708extern "C" {
2709    pub fn av_hwdevice_ctx_alloc(type_: AVHWDeviceType) -> *mut AVBufferRef;
2710}
2711extern "C" {
2712    pub fn av_hwdevice_ctx_init(ref_: *mut AVBufferRef) -> ::std::os::raw::c_int;
2713}
2714extern "C" {
2715    pub fn av_hwdevice_ctx_create(
2716        device_ctx: *mut *mut AVBufferRef,
2717        type_: AVHWDeviceType,
2718        device: *const ::std::os::raw::c_char,
2719        opts: *mut AVDictionary,
2720        flags: ::std::os::raw::c_int,
2721    ) -> ::std::os::raw::c_int;
2722}
2723extern "C" {
2724    pub fn av_hwdevice_ctx_create_derived(
2725        dst_ctx: *mut *mut AVBufferRef,
2726        type_: AVHWDeviceType,
2727        src_ctx: *mut AVBufferRef,
2728        flags: ::std::os::raw::c_int,
2729    ) -> ::std::os::raw::c_int;
2730}
2731extern "C" {
2732    pub fn av_hwdevice_ctx_create_derived_opts(
2733        dst_ctx: *mut *mut AVBufferRef,
2734        type_: AVHWDeviceType,
2735        src_ctx: *mut AVBufferRef,
2736        options: *mut AVDictionary,
2737        flags: ::std::os::raw::c_int,
2738    ) -> ::std::os::raw::c_int;
2739}
2740extern "C" {
2741    pub fn av_hwframe_ctx_alloc(device_ctx: *mut AVBufferRef) -> *mut AVBufferRef;
2742}
2743extern "C" {
2744    pub fn av_hwframe_ctx_init(ref_: *mut AVBufferRef) -> ::std::os::raw::c_int;
2745}
2746extern "C" {
2747    pub fn av_hwframe_get_buffer(
2748        hwframe_ctx: *mut AVBufferRef,
2749        frame: *mut AVFrame,
2750        flags: ::std::os::raw::c_int,
2751    ) -> ::std::os::raw::c_int;
2752}
2753extern "C" {
2754    pub fn av_hwframe_transfer_data(
2755        dst: *mut AVFrame,
2756        src: *const AVFrame,
2757        flags: ::std::os::raw::c_int,
2758    ) -> ::std::os::raw::c_int;
2759}
2760pub const AVHWFrameTransferDirection_AV_HWFRAME_TRANSFER_DIRECTION_FROM:
2761    AVHWFrameTransferDirection = 0;
2762pub const AVHWFrameTransferDirection_AV_HWFRAME_TRANSFER_DIRECTION_TO: AVHWFrameTransferDirection =
2763    1;
2764pub type AVHWFrameTransferDirection = ::std::os::raw::c_uint;
2765extern "C" {
2766    pub fn av_hwframe_transfer_get_formats(
2767        hwframe_ctx: *mut AVBufferRef,
2768        dir: AVHWFrameTransferDirection,
2769        formats: *mut *mut AVPixelFormat,
2770        flags: ::std::os::raw::c_int,
2771    ) -> ::std::os::raw::c_int;
2772}
2773#[repr(C)]
2774#[derive(Debug, Copy, Clone)]
2775pub struct AVHWFramesConstraints {
2776    pub valid_hw_formats: *mut AVPixelFormat,
2777    pub valid_sw_formats: *mut AVPixelFormat,
2778    pub min_width: ::std::os::raw::c_int,
2779    pub min_height: ::std::os::raw::c_int,
2780    pub max_width: ::std::os::raw::c_int,
2781    pub max_height: ::std::os::raw::c_int,
2782}
2783#[test]
2784fn bindgen_test_layout_AVHWFramesConstraints() {
2785    const UNINIT: ::std::mem::MaybeUninit<AVHWFramesConstraints> =
2786        ::std::mem::MaybeUninit::uninit();
2787    let ptr = UNINIT.as_ptr();
2788    assert_eq!(
2789        ::std::mem::size_of::<AVHWFramesConstraints>(),
2790        32usize,
2791        concat!("Size of: ", stringify!(AVHWFramesConstraints))
2792    );
2793    assert_eq!(
2794        ::std::mem::align_of::<AVHWFramesConstraints>(),
2795        8usize,
2796        concat!("Alignment of ", stringify!(AVHWFramesConstraints))
2797    );
2798    assert_eq!(
2799        unsafe { ::std::ptr::addr_of!((*ptr).valid_hw_formats) as usize - ptr as usize },
2800        0usize,
2801        concat!(
2802            "Offset of field: ",
2803            stringify!(AVHWFramesConstraints),
2804            "::",
2805            stringify!(valid_hw_formats)
2806        )
2807    );
2808    assert_eq!(
2809        unsafe { ::std::ptr::addr_of!((*ptr).valid_sw_formats) as usize - ptr as usize },
2810        8usize,
2811        concat!(
2812            "Offset of field: ",
2813            stringify!(AVHWFramesConstraints),
2814            "::",
2815            stringify!(valid_sw_formats)
2816        )
2817    );
2818    assert_eq!(
2819        unsafe { ::std::ptr::addr_of!((*ptr).min_width) as usize - ptr as usize },
2820        16usize,
2821        concat!(
2822            "Offset of field: ",
2823            stringify!(AVHWFramesConstraints),
2824            "::",
2825            stringify!(min_width)
2826        )
2827    );
2828    assert_eq!(
2829        unsafe { ::std::ptr::addr_of!((*ptr).min_height) as usize - ptr as usize },
2830        20usize,
2831        concat!(
2832            "Offset of field: ",
2833            stringify!(AVHWFramesConstraints),
2834            "::",
2835            stringify!(min_height)
2836        )
2837    );
2838    assert_eq!(
2839        unsafe { ::std::ptr::addr_of!((*ptr).max_width) as usize - ptr as usize },
2840        24usize,
2841        concat!(
2842            "Offset of field: ",
2843            stringify!(AVHWFramesConstraints),
2844            "::",
2845            stringify!(max_width)
2846        )
2847    );
2848    assert_eq!(
2849        unsafe { ::std::ptr::addr_of!((*ptr).max_height) as usize - ptr as usize },
2850        28usize,
2851        concat!(
2852            "Offset of field: ",
2853            stringify!(AVHWFramesConstraints),
2854            "::",
2855            stringify!(max_height)
2856        )
2857    );
2858}
2859extern "C" {
2860    pub fn av_hwdevice_hwconfig_alloc(device_ctx: *mut AVBufferRef) -> *mut ::std::os::raw::c_void;
2861}
2862extern "C" {
2863    pub fn av_hwdevice_get_hwframe_constraints(
2864        ref_: *mut AVBufferRef,
2865        hwconfig: *const ::std::os::raw::c_void,
2866    ) -> *mut AVHWFramesConstraints;
2867}
2868extern "C" {
2869    pub fn av_hwframe_constraints_free(constraints: *mut *mut AVHWFramesConstraints);
2870}
2871pub const AV_HWFRAME_MAP_READ: _bindgen_ty_3 = 1;
2872pub const AV_HWFRAME_MAP_WRITE: _bindgen_ty_3 = 2;
2873pub const AV_HWFRAME_MAP_OVERWRITE: _bindgen_ty_3 = 4;
2874pub const AV_HWFRAME_MAP_DIRECT: _bindgen_ty_3 = 8;
2875pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
2876extern "C" {
2877    pub fn av_hwframe_map(
2878        dst: *mut AVFrame,
2879        src: *const AVFrame,
2880        flags: ::std::os::raw::c_int,
2881    ) -> ::std::os::raw::c_int;
2882}
2883extern "C" {
2884    pub fn av_hwframe_ctx_create_derived(
2885        derived_frame_ctx: *mut *mut AVBufferRef,
2886        format: AVPixelFormat,
2887        derived_device_ctx: *mut AVBufferRef,
2888        source_frame_ctx: *mut AVBufferRef,
2889        flags: ::std::os::raw::c_int,
2890    ) -> ::std::os::raw::c_int;
2891}
2892pub const AVCodecID_AV_CODEC_ID_NONE: AVCodecID = 0;
2893pub const AVCodecID_AV_CODEC_ID_MPEG1VIDEO: AVCodecID = 1;
2894pub const AVCodecID_AV_CODEC_ID_MPEG2VIDEO: AVCodecID = 2;
2895pub const AVCodecID_AV_CODEC_ID_H261: AVCodecID = 3;
2896pub const AVCodecID_AV_CODEC_ID_H263: AVCodecID = 4;
2897pub const AVCodecID_AV_CODEC_ID_RV10: AVCodecID = 5;
2898pub const AVCodecID_AV_CODEC_ID_RV20: AVCodecID = 6;
2899pub const AVCodecID_AV_CODEC_ID_MJPEG: AVCodecID = 7;
2900pub const AVCodecID_AV_CODEC_ID_MJPEGB: AVCodecID = 8;
2901pub const AVCodecID_AV_CODEC_ID_LJPEG: AVCodecID = 9;
2902pub const AVCodecID_AV_CODEC_ID_SP5X: AVCodecID = 10;
2903pub const AVCodecID_AV_CODEC_ID_JPEGLS: AVCodecID = 11;
2904pub const AVCodecID_AV_CODEC_ID_MPEG4: AVCodecID = 12;
2905pub const AVCodecID_AV_CODEC_ID_RAWVIDEO: AVCodecID = 13;
2906pub const AVCodecID_AV_CODEC_ID_MSMPEG4V1: AVCodecID = 14;
2907pub const AVCodecID_AV_CODEC_ID_MSMPEG4V2: AVCodecID = 15;
2908pub const AVCodecID_AV_CODEC_ID_MSMPEG4V3: AVCodecID = 16;
2909pub const AVCodecID_AV_CODEC_ID_WMV1: AVCodecID = 17;
2910pub const AVCodecID_AV_CODEC_ID_WMV2: AVCodecID = 18;
2911pub const AVCodecID_AV_CODEC_ID_H263P: AVCodecID = 19;
2912pub const AVCodecID_AV_CODEC_ID_H263I: AVCodecID = 20;
2913pub const AVCodecID_AV_CODEC_ID_FLV1: AVCodecID = 21;
2914pub const AVCodecID_AV_CODEC_ID_SVQ1: AVCodecID = 22;
2915pub const AVCodecID_AV_CODEC_ID_SVQ3: AVCodecID = 23;
2916pub const AVCodecID_AV_CODEC_ID_DVVIDEO: AVCodecID = 24;
2917pub const AVCodecID_AV_CODEC_ID_HUFFYUV: AVCodecID = 25;
2918pub const AVCodecID_AV_CODEC_ID_CYUV: AVCodecID = 26;
2919pub const AVCodecID_AV_CODEC_ID_H264: AVCodecID = 27;
2920pub const AVCodecID_AV_CODEC_ID_INDEO3: AVCodecID = 28;
2921pub const AVCodecID_AV_CODEC_ID_VP3: AVCodecID = 29;
2922pub const AVCodecID_AV_CODEC_ID_THEORA: AVCodecID = 30;
2923pub const AVCodecID_AV_CODEC_ID_ASV1: AVCodecID = 31;
2924pub const AVCodecID_AV_CODEC_ID_ASV2: AVCodecID = 32;
2925pub const AVCodecID_AV_CODEC_ID_FFV1: AVCodecID = 33;
2926pub const AVCodecID_AV_CODEC_ID_4XM: AVCodecID = 34;
2927pub const AVCodecID_AV_CODEC_ID_VCR1: AVCodecID = 35;
2928pub const AVCodecID_AV_CODEC_ID_CLJR: AVCodecID = 36;
2929pub const AVCodecID_AV_CODEC_ID_MDEC: AVCodecID = 37;
2930pub const AVCodecID_AV_CODEC_ID_ROQ: AVCodecID = 38;
2931pub const AVCodecID_AV_CODEC_ID_INTERPLAY_VIDEO: AVCodecID = 39;
2932pub const AVCodecID_AV_CODEC_ID_XAN_WC3: AVCodecID = 40;
2933pub const AVCodecID_AV_CODEC_ID_XAN_WC4: AVCodecID = 41;
2934pub const AVCodecID_AV_CODEC_ID_RPZA: AVCodecID = 42;
2935pub const AVCodecID_AV_CODEC_ID_CINEPAK: AVCodecID = 43;
2936pub const AVCodecID_AV_CODEC_ID_WS_VQA: AVCodecID = 44;
2937pub const AVCodecID_AV_CODEC_ID_MSRLE: AVCodecID = 45;
2938pub const AVCodecID_AV_CODEC_ID_MSVIDEO1: AVCodecID = 46;
2939pub const AVCodecID_AV_CODEC_ID_IDCIN: AVCodecID = 47;
2940pub const AVCodecID_AV_CODEC_ID_8BPS: AVCodecID = 48;
2941pub const AVCodecID_AV_CODEC_ID_SMC: AVCodecID = 49;
2942pub const AVCodecID_AV_CODEC_ID_FLIC: AVCodecID = 50;
2943pub const AVCodecID_AV_CODEC_ID_TRUEMOTION1: AVCodecID = 51;
2944pub const AVCodecID_AV_CODEC_ID_VMDVIDEO: AVCodecID = 52;
2945pub const AVCodecID_AV_CODEC_ID_MSZH: AVCodecID = 53;
2946pub const AVCodecID_AV_CODEC_ID_ZLIB: AVCodecID = 54;
2947pub const AVCodecID_AV_CODEC_ID_QTRLE: AVCodecID = 55;
2948pub const AVCodecID_AV_CODEC_ID_TSCC: AVCodecID = 56;
2949pub const AVCodecID_AV_CODEC_ID_ULTI: AVCodecID = 57;
2950pub const AVCodecID_AV_CODEC_ID_QDRAW: AVCodecID = 58;
2951pub const AVCodecID_AV_CODEC_ID_VIXL: AVCodecID = 59;
2952pub const AVCodecID_AV_CODEC_ID_QPEG: AVCodecID = 60;
2953pub const AVCodecID_AV_CODEC_ID_PNG: AVCodecID = 61;
2954pub const AVCodecID_AV_CODEC_ID_PPM: AVCodecID = 62;
2955pub const AVCodecID_AV_CODEC_ID_PBM: AVCodecID = 63;
2956pub const AVCodecID_AV_CODEC_ID_PGM: AVCodecID = 64;
2957pub const AVCodecID_AV_CODEC_ID_PGMYUV: AVCodecID = 65;
2958pub const AVCodecID_AV_CODEC_ID_PAM: AVCodecID = 66;
2959pub const AVCodecID_AV_CODEC_ID_FFVHUFF: AVCodecID = 67;
2960pub const AVCodecID_AV_CODEC_ID_RV30: AVCodecID = 68;
2961pub const AVCodecID_AV_CODEC_ID_RV40: AVCodecID = 69;
2962pub const AVCodecID_AV_CODEC_ID_VC1: AVCodecID = 70;
2963pub const AVCodecID_AV_CODEC_ID_WMV3: AVCodecID = 71;
2964pub const AVCodecID_AV_CODEC_ID_LOCO: AVCodecID = 72;
2965pub const AVCodecID_AV_CODEC_ID_WNV1: AVCodecID = 73;
2966pub const AVCodecID_AV_CODEC_ID_AASC: AVCodecID = 74;
2967pub const AVCodecID_AV_CODEC_ID_INDEO2: AVCodecID = 75;
2968pub const AVCodecID_AV_CODEC_ID_FRAPS: AVCodecID = 76;
2969pub const AVCodecID_AV_CODEC_ID_TRUEMOTION2: AVCodecID = 77;
2970pub const AVCodecID_AV_CODEC_ID_BMP: AVCodecID = 78;
2971pub const AVCodecID_AV_CODEC_ID_CSCD: AVCodecID = 79;
2972pub const AVCodecID_AV_CODEC_ID_MMVIDEO: AVCodecID = 80;
2973pub const AVCodecID_AV_CODEC_ID_ZMBV: AVCodecID = 81;
2974pub const AVCodecID_AV_CODEC_ID_AVS: AVCodecID = 82;
2975pub const AVCodecID_AV_CODEC_ID_SMACKVIDEO: AVCodecID = 83;
2976pub const AVCodecID_AV_CODEC_ID_NUV: AVCodecID = 84;
2977pub const AVCodecID_AV_CODEC_ID_KMVC: AVCodecID = 85;
2978pub const AVCodecID_AV_CODEC_ID_FLASHSV: AVCodecID = 86;
2979pub const AVCodecID_AV_CODEC_ID_CAVS: AVCodecID = 87;
2980pub const AVCodecID_AV_CODEC_ID_JPEG2000: AVCodecID = 88;
2981pub const AVCodecID_AV_CODEC_ID_VMNC: AVCodecID = 89;
2982pub const AVCodecID_AV_CODEC_ID_VP5: AVCodecID = 90;
2983pub const AVCodecID_AV_CODEC_ID_VP6: AVCodecID = 91;
2984pub const AVCodecID_AV_CODEC_ID_VP6F: AVCodecID = 92;
2985pub const AVCodecID_AV_CODEC_ID_TARGA: AVCodecID = 93;
2986pub const AVCodecID_AV_CODEC_ID_DSICINVIDEO: AVCodecID = 94;
2987pub const AVCodecID_AV_CODEC_ID_TIERTEXSEQVIDEO: AVCodecID = 95;
2988pub const AVCodecID_AV_CODEC_ID_TIFF: AVCodecID = 96;
2989pub const AVCodecID_AV_CODEC_ID_GIF: AVCodecID = 97;
2990pub const AVCodecID_AV_CODEC_ID_DXA: AVCodecID = 98;
2991pub const AVCodecID_AV_CODEC_ID_DNXHD: AVCodecID = 99;
2992pub const AVCodecID_AV_CODEC_ID_THP: AVCodecID = 100;
2993pub const AVCodecID_AV_CODEC_ID_SGI: AVCodecID = 101;
2994pub const AVCodecID_AV_CODEC_ID_C93: AVCodecID = 102;
2995pub const AVCodecID_AV_CODEC_ID_BETHSOFTVID: AVCodecID = 103;
2996pub const AVCodecID_AV_CODEC_ID_PTX: AVCodecID = 104;
2997pub const AVCodecID_AV_CODEC_ID_TXD: AVCodecID = 105;
2998pub const AVCodecID_AV_CODEC_ID_VP6A: AVCodecID = 106;
2999pub const AVCodecID_AV_CODEC_ID_AMV: AVCodecID = 107;
3000pub const AVCodecID_AV_CODEC_ID_VB: AVCodecID = 108;
3001pub const AVCodecID_AV_CODEC_ID_PCX: AVCodecID = 109;
3002pub const AVCodecID_AV_CODEC_ID_SUNRAST: AVCodecID = 110;
3003pub const AVCodecID_AV_CODEC_ID_INDEO4: AVCodecID = 111;
3004pub const AVCodecID_AV_CODEC_ID_INDEO5: AVCodecID = 112;
3005pub const AVCodecID_AV_CODEC_ID_MIMIC: AVCodecID = 113;
3006pub const AVCodecID_AV_CODEC_ID_RL2: AVCodecID = 114;
3007pub const AVCodecID_AV_CODEC_ID_ESCAPE124: AVCodecID = 115;
3008pub const AVCodecID_AV_CODEC_ID_DIRAC: AVCodecID = 116;
3009pub const AVCodecID_AV_CODEC_ID_BFI: AVCodecID = 117;
3010pub const AVCodecID_AV_CODEC_ID_CMV: AVCodecID = 118;
3011pub const AVCodecID_AV_CODEC_ID_MOTIONPIXELS: AVCodecID = 119;
3012pub const AVCodecID_AV_CODEC_ID_TGV: AVCodecID = 120;
3013pub const AVCodecID_AV_CODEC_ID_TGQ: AVCodecID = 121;
3014pub const AVCodecID_AV_CODEC_ID_TQI: AVCodecID = 122;
3015pub const AVCodecID_AV_CODEC_ID_AURA: AVCodecID = 123;
3016pub const AVCodecID_AV_CODEC_ID_AURA2: AVCodecID = 124;
3017pub const AVCodecID_AV_CODEC_ID_V210X: AVCodecID = 125;
3018pub const AVCodecID_AV_CODEC_ID_TMV: AVCodecID = 126;
3019pub const AVCodecID_AV_CODEC_ID_V210: AVCodecID = 127;
3020pub const AVCodecID_AV_CODEC_ID_DPX: AVCodecID = 128;
3021pub const AVCodecID_AV_CODEC_ID_MAD: AVCodecID = 129;
3022pub const AVCodecID_AV_CODEC_ID_FRWU: AVCodecID = 130;
3023pub const AVCodecID_AV_CODEC_ID_FLASHSV2: AVCodecID = 131;
3024pub const AVCodecID_AV_CODEC_ID_CDGRAPHICS: AVCodecID = 132;
3025pub const AVCodecID_AV_CODEC_ID_R210: AVCodecID = 133;
3026pub const AVCodecID_AV_CODEC_ID_ANM: AVCodecID = 134;
3027pub const AVCodecID_AV_CODEC_ID_BINKVIDEO: AVCodecID = 135;
3028pub const AVCodecID_AV_CODEC_ID_IFF_ILBM: AVCodecID = 136;
3029pub const AVCodecID_AV_CODEC_ID_KGV1: AVCodecID = 137;
3030pub const AVCodecID_AV_CODEC_ID_YOP: AVCodecID = 138;
3031pub const AVCodecID_AV_CODEC_ID_VP8: AVCodecID = 139;
3032pub const AVCodecID_AV_CODEC_ID_PICTOR: AVCodecID = 140;
3033pub const AVCodecID_AV_CODEC_ID_ANSI: AVCodecID = 141;
3034pub const AVCodecID_AV_CODEC_ID_A64_MULTI: AVCodecID = 142;
3035pub const AVCodecID_AV_CODEC_ID_A64_MULTI5: AVCodecID = 143;
3036pub const AVCodecID_AV_CODEC_ID_R10K: AVCodecID = 144;
3037pub const AVCodecID_AV_CODEC_ID_MXPEG: AVCodecID = 145;
3038pub const AVCodecID_AV_CODEC_ID_LAGARITH: AVCodecID = 146;
3039pub const AVCodecID_AV_CODEC_ID_PRORES: AVCodecID = 147;
3040pub const AVCodecID_AV_CODEC_ID_JV: AVCodecID = 148;
3041pub const AVCodecID_AV_CODEC_ID_DFA: AVCodecID = 149;
3042pub const AVCodecID_AV_CODEC_ID_WMV3IMAGE: AVCodecID = 150;
3043pub const AVCodecID_AV_CODEC_ID_VC1IMAGE: AVCodecID = 151;
3044pub const AVCodecID_AV_CODEC_ID_UTVIDEO: AVCodecID = 152;
3045pub const AVCodecID_AV_CODEC_ID_BMV_VIDEO: AVCodecID = 153;
3046pub const AVCodecID_AV_CODEC_ID_VBLE: AVCodecID = 154;
3047pub const AVCodecID_AV_CODEC_ID_DXTORY: AVCodecID = 155;
3048pub const AVCodecID_AV_CODEC_ID_V410: AVCodecID = 156;
3049pub const AVCodecID_AV_CODEC_ID_XWD: AVCodecID = 157;
3050pub const AVCodecID_AV_CODEC_ID_CDXL: AVCodecID = 158;
3051pub const AVCodecID_AV_CODEC_ID_XBM: AVCodecID = 159;
3052pub const AVCodecID_AV_CODEC_ID_ZEROCODEC: AVCodecID = 160;
3053pub const AVCodecID_AV_CODEC_ID_MSS1: AVCodecID = 161;
3054pub const AVCodecID_AV_CODEC_ID_MSA1: AVCodecID = 162;
3055pub const AVCodecID_AV_CODEC_ID_TSCC2: AVCodecID = 163;
3056pub const AVCodecID_AV_CODEC_ID_MTS2: AVCodecID = 164;
3057pub const AVCodecID_AV_CODEC_ID_CLLC: AVCodecID = 165;
3058pub const AVCodecID_AV_CODEC_ID_MSS2: AVCodecID = 166;
3059pub const AVCodecID_AV_CODEC_ID_VP9: AVCodecID = 167;
3060pub const AVCodecID_AV_CODEC_ID_AIC: AVCodecID = 168;
3061pub const AVCodecID_AV_CODEC_ID_ESCAPE130: AVCodecID = 169;
3062pub const AVCodecID_AV_CODEC_ID_G2M: AVCodecID = 170;
3063pub const AVCodecID_AV_CODEC_ID_WEBP: AVCodecID = 171;
3064pub const AVCodecID_AV_CODEC_ID_HNM4_VIDEO: AVCodecID = 172;
3065pub const AVCodecID_AV_CODEC_ID_HEVC: AVCodecID = 173;
3066pub const AVCodecID_AV_CODEC_ID_FIC: AVCodecID = 174;
3067pub const AVCodecID_AV_CODEC_ID_ALIAS_PIX: AVCodecID = 175;
3068pub const AVCodecID_AV_CODEC_ID_BRENDER_PIX: AVCodecID = 176;
3069pub const AVCodecID_AV_CODEC_ID_PAF_VIDEO: AVCodecID = 177;
3070pub const AVCodecID_AV_CODEC_ID_EXR: AVCodecID = 178;
3071pub const AVCodecID_AV_CODEC_ID_VP7: AVCodecID = 179;
3072pub const AVCodecID_AV_CODEC_ID_SANM: AVCodecID = 180;
3073pub const AVCodecID_AV_CODEC_ID_SGIRLE: AVCodecID = 181;
3074pub const AVCodecID_AV_CODEC_ID_MVC1: AVCodecID = 182;
3075pub const AVCodecID_AV_CODEC_ID_MVC2: AVCodecID = 183;
3076pub const AVCodecID_AV_CODEC_ID_HQX: AVCodecID = 184;
3077pub const AVCodecID_AV_CODEC_ID_TDSC: AVCodecID = 185;
3078pub const AVCodecID_AV_CODEC_ID_HQ_HQA: AVCodecID = 186;
3079pub const AVCodecID_AV_CODEC_ID_HAP: AVCodecID = 187;
3080pub const AVCodecID_AV_CODEC_ID_DDS: AVCodecID = 188;
3081pub const AVCodecID_AV_CODEC_ID_DXV: AVCodecID = 189;
3082pub const AVCodecID_AV_CODEC_ID_SCREENPRESSO: AVCodecID = 190;
3083pub const AVCodecID_AV_CODEC_ID_RSCC: AVCodecID = 191;
3084pub const AVCodecID_AV_CODEC_ID_AVS2: AVCodecID = 192;
3085pub const AVCodecID_AV_CODEC_ID_PGX: AVCodecID = 193;
3086pub const AVCodecID_AV_CODEC_ID_AVS3: AVCodecID = 194;
3087pub const AVCodecID_AV_CODEC_ID_MSP2: AVCodecID = 195;
3088pub const AVCodecID_AV_CODEC_ID_VVC: AVCodecID = 196;
3089pub const AVCodecID_AV_CODEC_ID_Y41P: AVCodecID = 197;
3090pub const AVCodecID_AV_CODEC_ID_AVRP: AVCodecID = 198;
3091pub const AVCodecID_AV_CODEC_ID_012V: AVCodecID = 199;
3092pub const AVCodecID_AV_CODEC_ID_AVUI: AVCodecID = 200;
3093pub const AVCodecID_AV_CODEC_ID_TARGA_Y216: AVCodecID = 201;
3094pub const AVCodecID_AV_CODEC_ID_V308: AVCodecID = 202;
3095pub const AVCodecID_AV_CODEC_ID_V408: AVCodecID = 203;
3096pub const AVCodecID_AV_CODEC_ID_YUV4: AVCodecID = 204;
3097pub const AVCodecID_AV_CODEC_ID_AVRN: AVCodecID = 205;
3098pub const AVCodecID_AV_CODEC_ID_CPIA: AVCodecID = 206;
3099pub const AVCodecID_AV_CODEC_ID_XFACE: AVCodecID = 207;
3100pub const AVCodecID_AV_CODEC_ID_SNOW: AVCodecID = 208;
3101pub const AVCodecID_AV_CODEC_ID_SMVJPEG: AVCodecID = 209;
3102pub const AVCodecID_AV_CODEC_ID_APNG: AVCodecID = 210;
3103pub const AVCodecID_AV_CODEC_ID_DAALA: AVCodecID = 211;
3104pub const AVCodecID_AV_CODEC_ID_CFHD: AVCodecID = 212;
3105pub const AVCodecID_AV_CODEC_ID_TRUEMOTION2RT: AVCodecID = 213;
3106pub const AVCodecID_AV_CODEC_ID_M101: AVCodecID = 214;
3107pub const AVCodecID_AV_CODEC_ID_MAGICYUV: AVCodecID = 215;
3108pub const AVCodecID_AV_CODEC_ID_SHEERVIDEO: AVCodecID = 216;
3109pub const AVCodecID_AV_CODEC_ID_YLC: AVCodecID = 217;
3110pub const AVCodecID_AV_CODEC_ID_PSD: AVCodecID = 218;
3111pub const AVCodecID_AV_CODEC_ID_PIXLET: AVCodecID = 219;
3112pub const AVCodecID_AV_CODEC_ID_SPEEDHQ: AVCodecID = 220;
3113pub const AVCodecID_AV_CODEC_ID_FMVC: AVCodecID = 221;
3114pub const AVCodecID_AV_CODEC_ID_SCPR: AVCodecID = 222;
3115pub const AVCodecID_AV_CODEC_ID_CLEARVIDEO: AVCodecID = 223;
3116pub const AVCodecID_AV_CODEC_ID_XPM: AVCodecID = 224;
3117pub const AVCodecID_AV_CODEC_ID_AV1: AVCodecID = 225;
3118pub const AVCodecID_AV_CODEC_ID_BITPACKED: AVCodecID = 226;
3119pub const AVCodecID_AV_CODEC_ID_MSCC: AVCodecID = 227;
3120pub const AVCodecID_AV_CODEC_ID_SRGC: AVCodecID = 228;
3121pub const AVCodecID_AV_CODEC_ID_SVG: AVCodecID = 229;
3122pub const AVCodecID_AV_CODEC_ID_GDV: AVCodecID = 230;
3123pub const AVCodecID_AV_CODEC_ID_FITS: AVCodecID = 231;
3124pub const AVCodecID_AV_CODEC_ID_IMM4: AVCodecID = 232;
3125pub const AVCodecID_AV_CODEC_ID_PROSUMER: AVCodecID = 233;
3126pub const AVCodecID_AV_CODEC_ID_MWSC: AVCodecID = 234;
3127pub const AVCodecID_AV_CODEC_ID_WCMV: AVCodecID = 235;
3128pub const AVCodecID_AV_CODEC_ID_RASC: AVCodecID = 236;
3129pub const AVCodecID_AV_CODEC_ID_HYMT: AVCodecID = 237;
3130pub const AVCodecID_AV_CODEC_ID_ARBC: AVCodecID = 238;
3131pub const AVCodecID_AV_CODEC_ID_AGM: AVCodecID = 239;
3132pub const AVCodecID_AV_CODEC_ID_LSCR: AVCodecID = 240;
3133pub const AVCodecID_AV_CODEC_ID_VP4: AVCodecID = 241;
3134pub const AVCodecID_AV_CODEC_ID_IMM5: AVCodecID = 242;
3135pub const AVCodecID_AV_CODEC_ID_MVDV: AVCodecID = 243;
3136pub const AVCodecID_AV_CODEC_ID_MVHA: AVCodecID = 244;
3137pub const AVCodecID_AV_CODEC_ID_CDTOONS: AVCodecID = 245;
3138pub const AVCodecID_AV_CODEC_ID_MV30: AVCodecID = 246;
3139pub const AVCodecID_AV_CODEC_ID_NOTCHLC: AVCodecID = 247;
3140pub const AVCodecID_AV_CODEC_ID_PFM: AVCodecID = 248;
3141pub const AVCodecID_AV_CODEC_ID_MOBICLIP: AVCodecID = 249;
3142pub const AVCodecID_AV_CODEC_ID_PHOTOCD: AVCodecID = 250;
3143pub const AVCodecID_AV_CODEC_ID_IPU: AVCodecID = 251;
3144pub const AVCodecID_AV_CODEC_ID_ARGO: AVCodecID = 252;
3145pub const AVCodecID_AV_CODEC_ID_CRI: AVCodecID = 253;
3146pub const AVCodecID_AV_CODEC_ID_SIMBIOSIS_IMX: AVCodecID = 254;
3147pub const AVCodecID_AV_CODEC_ID_SGA_VIDEO: AVCodecID = 255;
3148pub const AVCodecID_AV_CODEC_ID_GEM: AVCodecID = 256;
3149pub const AVCodecID_AV_CODEC_ID_VBN: AVCodecID = 257;
3150pub const AVCodecID_AV_CODEC_ID_JPEGXL: AVCodecID = 258;
3151pub const AVCodecID_AV_CODEC_ID_QOI: AVCodecID = 259;
3152pub const AVCodecID_AV_CODEC_ID_PHM: AVCodecID = 260;
3153pub const AVCodecID_AV_CODEC_ID_RADIANCE_HDR: AVCodecID = 261;
3154pub const AVCodecID_AV_CODEC_ID_WBMP: AVCodecID = 262;
3155pub const AVCodecID_AV_CODEC_ID_MEDIA100: AVCodecID = 263;
3156pub const AVCodecID_AV_CODEC_ID_VQC: AVCodecID = 264;
3157pub const AVCodecID_AV_CODEC_ID_PDV: AVCodecID = 265;
3158pub const AVCodecID_AV_CODEC_ID_EVC: AVCodecID = 266;
3159pub const AVCodecID_AV_CODEC_ID_RTV1: AVCodecID = 267;
3160pub const AVCodecID_AV_CODEC_ID_VMIX: AVCodecID = 268;
3161pub const AVCodecID_AV_CODEC_ID_LEAD: AVCodecID = 269;
3162pub const AVCodecID_AV_CODEC_ID_FIRST_AUDIO: AVCodecID = 65536;
3163pub const AVCodecID_AV_CODEC_ID_PCM_S16LE: AVCodecID = 65536;
3164pub const AVCodecID_AV_CODEC_ID_PCM_S16BE: AVCodecID = 65537;
3165pub const AVCodecID_AV_CODEC_ID_PCM_U16LE: AVCodecID = 65538;
3166pub const AVCodecID_AV_CODEC_ID_PCM_U16BE: AVCodecID = 65539;
3167pub const AVCodecID_AV_CODEC_ID_PCM_S8: AVCodecID = 65540;
3168pub const AVCodecID_AV_CODEC_ID_PCM_U8: AVCodecID = 65541;
3169pub const AVCodecID_AV_CODEC_ID_PCM_MULAW: AVCodecID = 65542;
3170pub const AVCodecID_AV_CODEC_ID_PCM_ALAW: AVCodecID = 65543;
3171pub const AVCodecID_AV_CODEC_ID_PCM_S32LE: AVCodecID = 65544;
3172pub const AVCodecID_AV_CODEC_ID_PCM_S32BE: AVCodecID = 65545;
3173pub const AVCodecID_AV_CODEC_ID_PCM_U32LE: AVCodecID = 65546;
3174pub const AVCodecID_AV_CODEC_ID_PCM_U32BE: AVCodecID = 65547;
3175pub const AVCodecID_AV_CODEC_ID_PCM_S24LE: AVCodecID = 65548;
3176pub const AVCodecID_AV_CODEC_ID_PCM_S24BE: AVCodecID = 65549;
3177pub const AVCodecID_AV_CODEC_ID_PCM_U24LE: AVCodecID = 65550;
3178pub const AVCodecID_AV_CODEC_ID_PCM_U24BE: AVCodecID = 65551;
3179pub const AVCodecID_AV_CODEC_ID_PCM_S24DAUD: AVCodecID = 65552;
3180pub const AVCodecID_AV_CODEC_ID_PCM_ZORK: AVCodecID = 65553;
3181pub const AVCodecID_AV_CODEC_ID_PCM_S16LE_PLANAR: AVCodecID = 65554;
3182pub const AVCodecID_AV_CODEC_ID_PCM_DVD: AVCodecID = 65555;
3183pub const AVCodecID_AV_CODEC_ID_PCM_F32BE: AVCodecID = 65556;
3184pub const AVCodecID_AV_CODEC_ID_PCM_F32LE: AVCodecID = 65557;
3185pub const AVCodecID_AV_CODEC_ID_PCM_F64BE: AVCodecID = 65558;
3186pub const AVCodecID_AV_CODEC_ID_PCM_F64LE: AVCodecID = 65559;
3187pub const AVCodecID_AV_CODEC_ID_PCM_BLURAY: AVCodecID = 65560;
3188pub const AVCodecID_AV_CODEC_ID_PCM_LXF: AVCodecID = 65561;
3189pub const AVCodecID_AV_CODEC_ID_S302M: AVCodecID = 65562;
3190pub const AVCodecID_AV_CODEC_ID_PCM_S8_PLANAR: AVCodecID = 65563;
3191pub const AVCodecID_AV_CODEC_ID_PCM_S24LE_PLANAR: AVCodecID = 65564;
3192pub const AVCodecID_AV_CODEC_ID_PCM_S32LE_PLANAR: AVCodecID = 65565;
3193pub const AVCodecID_AV_CODEC_ID_PCM_S16BE_PLANAR: AVCodecID = 65566;
3194pub const AVCodecID_AV_CODEC_ID_PCM_S64LE: AVCodecID = 65567;
3195pub const AVCodecID_AV_CODEC_ID_PCM_S64BE: AVCodecID = 65568;
3196pub const AVCodecID_AV_CODEC_ID_PCM_F16LE: AVCodecID = 65569;
3197pub const AVCodecID_AV_CODEC_ID_PCM_F24LE: AVCodecID = 65570;
3198pub const AVCodecID_AV_CODEC_ID_PCM_VIDC: AVCodecID = 65571;
3199pub const AVCodecID_AV_CODEC_ID_PCM_SGA: AVCodecID = 65572;
3200pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_QT: AVCodecID = 69632;
3201pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_WAV: AVCodecID = 69633;
3202pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_DK3: AVCodecID = 69634;
3203pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_DK4: AVCodecID = 69635;
3204pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_WS: AVCodecID = 69636;
3205pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_SMJPEG: AVCodecID = 69637;
3206pub const AVCodecID_AV_CODEC_ID_ADPCM_MS: AVCodecID = 69638;
3207pub const AVCodecID_AV_CODEC_ID_ADPCM_4XM: AVCodecID = 69639;
3208pub const AVCodecID_AV_CODEC_ID_ADPCM_XA: AVCodecID = 69640;
3209pub const AVCodecID_AV_CODEC_ID_ADPCM_ADX: AVCodecID = 69641;
3210pub const AVCodecID_AV_CODEC_ID_ADPCM_EA: AVCodecID = 69642;
3211pub const AVCodecID_AV_CODEC_ID_ADPCM_G726: AVCodecID = 69643;
3212pub const AVCodecID_AV_CODEC_ID_ADPCM_CT: AVCodecID = 69644;
3213pub const AVCodecID_AV_CODEC_ID_ADPCM_SWF: AVCodecID = 69645;
3214pub const AVCodecID_AV_CODEC_ID_ADPCM_YAMAHA: AVCodecID = 69646;
3215pub const AVCodecID_AV_CODEC_ID_ADPCM_SBPRO_4: AVCodecID = 69647;
3216pub const AVCodecID_AV_CODEC_ID_ADPCM_SBPRO_3: AVCodecID = 69648;
3217pub const AVCodecID_AV_CODEC_ID_ADPCM_SBPRO_2: AVCodecID = 69649;
3218pub const AVCodecID_AV_CODEC_ID_ADPCM_THP: AVCodecID = 69650;
3219pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_AMV: AVCodecID = 69651;
3220pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_R1: AVCodecID = 69652;
3221pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_R3: AVCodecID = 69653;
3222pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_R2: AVCodecID = 69654;
3223pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_EA_SEAD: AVCodecID = 69655;
3224pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_EA_EACS: AVCodecID = 69656;
3225pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_XAS: AVCodecID = 69657;
3226pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_MAXIS_XA: AVCodecID = 69658;
3227pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_ISS: AVCodecID = 69659;
3228pub const AVCodecID_AV_CODEC_ID_ADPCM_G722: AVCodecID = 69660;
3229pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_APC: AVCodecID = 69661;
3230pub const AVCodecID_AV_CODEC_ID_ADPCM_VIMA: AVCodecID = 69662;
3231pub const AVCodecID_AV_CODEC_ID_ADPCM_AFC: AVCodecID = 69663;
3232pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_OKI: AVCodecID = 69664;
3233pub const AVCodecID_AV_CODEC_ID_ADPCM_DTK: AVCodecID = 69665;
3234pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_RAD: AVCodecID = 69666;
3235pub const AVCodecID_AV_CODEC_ID_ADPCM_G726LE: AVCodecID = 69667;
3236pub const AVCodecID_AV_CODEC_ID_ADPCM_THP_LE: AVCodecID = 69668;
3237pub const AVCodecID_AV_CODEC_ID_ADPCM_PSX: AVCodecID = 69669;
3238pub const AVCodecID_AV_CODEC_ID_ADPCM_AICA: AVCodecID = 69670;
3239pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_DAT4: AVCodecID = 69671;
3240pub const AVCodecID_AV_CODEC_ID_ADPCM_MTAF: AVCodecID = 69672;
3241pub const AVCodecID_AV_CODEC_ID_ADPCM_AGM: AVCodecID = 69673;
3242pub const AVCodecID_AV_CODEC_ID_ADPCM_ARGO: AVCodecID = 69674;
3243pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_SSI: AVCodecID = 69675;
3244pub const AVCodecID_AV_CODEC_ID_ADPCM_ZORK: AVCodecID = 69676;
3245pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_APM: AVCodecID = 69677;
3246pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_ALP: AVCodecID = 69678;
3247pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_MTF: AVCodecID = 69679;
3248pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_CUNNING: AVCodecID = 69680;
3249pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_MOFLEX: AVCodecID = 69681;
3250pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_ACORN: AVCodecID = 69682;
3251pub const AVCodecID_AV_CODEC_ID_ADPCM_XMD: AVCodecID = 69683;
3252pub const AVCodecID_AV_CODEC_ID_AMR_NB: AVCodecID = 73728;
3253pub const AVCodecID_AV_CODEC_ID_AMR_WB: AVCodecID = 73729;
3254pub const AVCodecID_AV_CODEC_ID_RA_144: AVCodecID = 77824;
3255pub const AVCodecID_AV_CODEC_ID_RA_288: AVCodecID = 77825;
3256pub const AVCodecID_AV_CODEC_ID_ROQ_DPCM: AVCodecID = 81920;
3257pub const AVCodecID_AV_CODEC_ID_INTERPLAY_DPCM: AVCodecID = 81921;
3258pub const AVCodecID_AV_CODEC_ID_XAN_DPCM: AVCodecID = 81922;
3259pub const AVCodecID_AV_CODEC_ID_SOL_DPCM: AVCodecID = 81923;
3260pub const AVCodecID_AV_CODEC_ID_SDX2_DPCM: AVCodecID = 81924;
3261pub const AVCodecID_AV_CODEC_ID_GREMLIN_DPCM: AVCodecID = 81925;
3262pub const AVCodecID_AV_CODEC_ID_DERF_DPCM: AVCodecID = 81926;
3263pub const AVCodecID_AV_CODEC_ID_WADY_DPCM: AVCodecID = 81927;
3264pub const AVCodecID_AV_CODEC_ID_CBD2_DPCM: AVCodecID = 81928;
3265pub const AVCodecID_AV_CODEC_ID_MP2: AVCodecID = 86016;
3266pub const AVCodecID_AV_CODEC_ID_MP3: AVCodecID = 86017;
3267pub const AVCodecID_AV_CODEC_ID_AAC: AVCodecID = 86018;
3268pub const AVCodecID_AV_CODEC_ID_AC3: AVCodecID = 86019;
3269pub const AVCodecID_AV_CODEC_ID_DTS: AVCodecID = 86020;
3270pub const AVCodecID_AV_CODEC_ID_VORBIS: AVCodecID = 86021;
3271pub const AVCodecID_AV_CODEC_ID_DVAUDIO: AVCodecID = 86022;
3272pub const AVCodecID_AV_CODEC_ID_WMAV1: AVCodecID = 86023;
3273pub const AVCodecID_AV_CODEC_ID_WMAV2: AVCodecID = 86024;
3274pub const AVCodecID_AV_CODEC_ID_MACE3: AVCodecID = 86025;
3275pub const AVCodecID_AV_CODEC_ID_MACE6: AVCodecID = 86026;
3276pub const AVCodecID_AV_CODEC_ID_VMDAUDIO: AVCodecID = 86027;
3277pub const AVCodecID_AV_CODEC_ID_FLAC: AVCodecID = 86028;
3278pub const AVCodecID_AV_CODEC_ID_MP3ADU: AVCodecID = 86029;
3279pub const AVCodecID_AV_CODEC_ID_MP3ON4: AVCodecID = 86030;
3280pub const AVCodecID_AV_CODEC_ID_SHORTEN: AVCodecID = 86031;
3281pub const AVCodecID_AV_CODEC_ID_ALAC: AVCodecID = 86032;
3282pub const AVCodecID_AV_CODEC_ID_WESTWOOD_SND1: AVCodecID = 86033;
3283pub const AVCodecID_AV_CODEC_ID_GSM: AVCodecID = 86034;
3284pub const AVCodecID_AV_CODEC_ID_QDM2: AVCodecID = 86035;
3285pub const AVCodecID_AV_CODEC_ID_COOK: AVCodecID = 86036;
3286pub const AVCodecID_AV_CODEC_ID_TRUESPEECH: AVCodecID = 86037;
3287pub const AVCodecID_AV_CODEC_ID_TTA: AVCodecID = 86038;
3288pub const AVCodecID_AV_CODEC_ID_SMACKAUDIO: AVCodecID = 86039;
3289pub const AVCodecID_AV_CODEC_ID_QCELP: AVCodecID = 86040;
3290pub const AVCodecID_AV_CODEC_ID_WAVPACK: AVCodecID = 86041;
3291pub const AVCodecID_AV_CODEC_ID_DSICINAUDIO: AVCodecID = 86042;
3292pub const AVCodecID_AV_CODEC_ID_IMC: AVCodecID = 86043;
3293pub const AVCodecID_AV_CODEC_ID_MUSEPACK7: AVCodecID = 86044;
3294pub const AVCodecID_AV_CODEC_ID_MLP: AVCodecID = 86045;
3295pub const AVCodecID_AV_CODEC_ID_GSM_MS: AVCodecID = 86046;
3296pub const AVCodecID_AV_CODEC_ID_ATRAC3: AVCodecID = 86047;
3297pub const AVCodecID_AV_CODEC_ID_APE: AVCodecID = 86048;
3298pub const AVCodecID_AV_CODEC_ID_NELLYMOSER: AVCodecID = 86049;
3299pub const AVCodecID_AV_CODEC_ID_MUSEPACK8: AVCodecID = 86050;
3300pub const AVCodecID_AV_CODEC_ID_SPEEX: AVCodecID = 86051;
3301pub const AVCodecID_AV_CODEC_ID_WMAVOICE: AVCodecID = 86052;
3302pub const AVCodecID_AV_CODEC_ID_WMAPRO: AVCodecID = 86053;
3303pub const AVCodecID_AV_CODEC_ID_WMALOSSLESS: AVCodecID = 86054;
3304pub const AVCodecID_AV_CODEC_ID_ATRAC3P: AVCodecID = 86055;
3305pub const AVCodecID_AV_CODEC_ID_EAC3: AVCodecID = 86056;
3306pub const AVCodecID_AV_CODEC_ID_SIPR: AVCodecID = 86057;
3307pub const AVCodecID_AV_CODEC_ID_MP1: AVCodecID = 86058;
3308pub const AVCodecID_AV_CODEC_ID_TWINVQ: AVCodecID = 86059;
3309pub const AVCodecID_AV_CODEC_ID_TRUEHD: AVCodecID = 86060;
3310pub const AVCodecID_AV_CODEC_ID_MP4ALS: AVCodecID = 86061;
3311pub const AVCodecID_AV_CODEC_ID_ATRAC1: AVCodecID = 86062;
3312pub const AVCodecID_AV_CODEC_ID_BINKAUDIO_RDFT: AVCodecID = 86063;
3313pub const AVCodecID_AV_CODEC_ID_BINKAUDIO_DCT: AVCodecID = 86064;
3314pub const AVCodecID_AV_CODEC_ID_AAC_LATM: AVCodecID = 86065;
3315pub const AVCodecID_AV_CODEC_ID_QDMC: AVCodecID = 86066;
3316pub const AVCodecID_AV_CODEC_ID_CELT: AVCodecID = 86067;
3317pub const AVCodecID_AV_CODEC_ID_G723_1: AVCodecID = 86068;
3318pub const AVCodecID_AV_CODEC_ID_G729: AVCodecID = 86069;
3319pub const AVCodecID_AV_CODEC_ID_8SVX_EXP: AVCodecID = 86070;
3320pub const AVCodecID_AV_CODEC_ID_8SVX_FIB: AVCodecID = 86071;
3321pub const AVCodecID_AV_CODEC_ID_BMV_AUDIO: AVCodecID = 86072;
3322pub const AVCodecID_AV_CODEC_ID_RALF: AVCodecID = 86073;
3323pub const AVCodecID_AV_CODEC_ID_IAC: AVCodecID = 86074;
3324pub const AVCodecID_AV_CODEC_ID_ILBC: AVCodecID = 86075;
3325pub const AVCodecID_AV_CODEC_ID_OPUS: AVCodecID = 86076;
3326pub const AVCodecID_AV_CODEC_ID_COMFORT_NOISE: AVCodecID = 86077;
3327pub const AVCodecID_AV_CODEC_ID_TAK: AVCodecID = 86078;
3328pub const AVCodecID_AV_CODEC_ID_METASOUND: AVCodecID = 86079;
3329pub const AVCodecID_AV_CODEC_ID_PAF_AUDIO: AVCodecID = 86080;
3330pub const AVCodecID_AV_CODEC_ID_ON2AVC: AVCodecID = 86081;
3331pub const AVCodecID_AV_CODEC_ID_DSS_SP: AVCodecID = 86082;
3332pub const AVCodecID_AV_CODEC_ID_CODEC2: AVCodecID = 86083;
3333pub const AVCodecID_AV_CODEC_ID_FFWAVESYNTH: AVCodecID = 86084;
3334pub const AVCodecID_AV_CODEC_ID_SONIC: AVCodecID = 86085;
3335pub const AVCodecID_AV_CODEC_ID_SONIC_LS: AVCodecID = 86086;
3336pub const AVCodecID_AV_CODEC_ID_EVRC: AVCodecID = 86087;
3337pub const AVCodecID_AV_CODEC_ID_SMV: AVCodecID = 86088;
3338pub const AVCodecID_AV_CODEC_ID_DSD_LSBF: AVCodecID = 86089;
3339pub const AVCodecID_AV_CODEC_ID_DSD_MSBF: AVCodecID = 86090;
3340pub const AVCodecID_AV_CODEC_ID_DSD_LSBF_PLANAR: AVCodecID = 86091;
3341pub const AVCodecID_AV_CODEC_ID_DSD_MSBF_PLANAR: AVCodecID = 86092;
3342pub const AVCodecID_AV_CODEC_ID_4GV: AVCodecID = 86093;
3343pub const AVCodecID_AV_CODEC_ID_INTERPLAY_ACM: AVCodecID = 86094;
3344pub const AVCodecID_AV_CODEC_ID_XMA1: AVCodecID = 86095;
3345pub const AVCodecID_AV_CODEC_ID_XMA2: AVCodecID = 86096;
3346pub const AVCodecID_AV_CODEC_ID_DST: AVCodecID = 86097;
3347pub const AVCodecID_AV_CODEC_ID_ATRAC3AL: AVCodecID = 86098;
3348pub const AVCodecID_AV_CODEC_ID_ATRAC3PAL: AVCodecID = 86099;
3349pub const AVCodecID_AV_CODEC_ID_DOLBY_E: AVCodecID = 86100;
3350pub const AVCodecID_AV_CODEC_ID_APTX: AVCodecID = 86101;
3351pub const AVCodecID_AV_CODEC_ID_APTX_HD: AVCodecID = 86102;
3352pub const AVCodecID_AV_CODEC_ID_SBC: AVCodecID = 86103;
3353pub const AVCodecID_AV_CODEC_ID_ATRAC9: AVCodecID = 86104;
3354pub const AVCodecID_AV_CODEC_ID_HCOM: AVCodecID = 86105;
3355pub const AVCodecID_AV_CODEC_ID_ACELP_KELVIN: AVCodecID = 86106;
3356pub const AVCodecID_AV_CODEC_ID_MPEGH_3D_AUDIO: AVCodecID = 86107;
3357pub const AVCodecID_AV_CODEC_ID_SIREN: AVCodecID = 86108;
3358pub const AVCodecID_AV_CODEC_ID_HCA: AVCodecID = 86109;
3359pub const AVCodecID_AV_CODEC_ID_FASTAUDIO: AVCodecID = 86110;
3360pub const AVCodecID_AV_CODEC_ID_MSNSIREN: AVCodecID = 86111;
3361pub const AVCodecID_AV_CODEC_ID_DFPWM: AVCodecID = 86112;
3362pub const AVCodecID_AV_CODEC_ID_BONK: AVCodecID = 86113;
3363pub const AVCodecID_AV_CODEC_ID_MISC4: AVCodecID = 86114;
3364pub const AVCodecID_AV_CODEC_ID_APAC: AVCodecID = 86115;
3365pub const AVCodecID_AV_CODEC_ID_FTR: AVCodecID = 86116;
3366pub const AVCodecID_AV_CODEC_ID_WAVARC: AVCodecID = 86117;
3367pub const AVCodecID_AV_CODEC_ID_RKA: AVCodecID = 86118;
3368pub const AVCodecID_AV_CODEC_ID_AC4: AVCodecID = 86119;
3369pub const AVCodecID_AV_CODEC_ID_OSQ: AVCodecID = 86120;
3370pub const AVCodecID_AV_CODEC_ID_QOA: AVCodecID = 86121;
3371pub const AVCodecID_AV_CODEC_ID_LC3: AVCodecID = 86122;
3372pub const AVCodecID_AV_CODEC_ID_FIRST_SUBTITLE: AVCodecID = 94208;
3373pub const AVCodecID_AV_CODEC_ID_DVD_SUBTITLE: AVCodecID = 94208;
3374pub const AVCodecID_AV_CODEC_ID_DVB_SUBTITLE: AVCodecID = 94209;
3375pub const AVCodecID_AV_CODEC_ID_TEXT: AVCodecID = 94210;
3376pub const AVCodecID_AV_CODEC_ID_XSUB: AVCodecID = 94211;
3377pub const AVCodecID_AV_CODEC_ID_SSA: AVCodecID = 94212;
3378pub const AVCodecID_AV_CODEC_ID_MOV_TEXT: AVCodecID = 94213;
3379pub const AVCodecID_AV_CODEC_ID_HDMV_PGS_SUBTITLE: AVCodecID = 94214;
3380pub const AVCodecID_AV_CODEC_ID_DVB_TELETEXT: AVCodecID = 94215;
3381pub const AVCodecID_AV_CODEC_ID_SRT: AVCodecID = 94216;
3382pub const AVCodecID_AV_CODEC_ID_MICRODVD: AVCodecID = 94217;
3383pub const AVCodecID_AV_CODEC_ID_EIA_608: AVCodecID = 94218;
3384pub const AVCodecID_AV_CODEC_ID_JACOSUB: AVCodecID = 94219;
3385pub const AVCodecID_AV_CODEC_ID_SAMI: AVCodecID = 94220;
3386pub const AVCodecID_AV_CODEC_ID_REALTEXT: AVCodecID = 94221;
3387pub const AVCodecID_AV_CODEC_ID_STL: AVCodecID = 94222;
3388pub const AVCodecID_AV_CODEC_ID_SUBVIEWER1: AVCodecID = 94223;
3389pub const AVCodecID_AV_CODEC_ID_SUBVIEWER: AVCodecID = 94224;
3390pub const AVCodecID_AV_CODEC_ID_SUBRIP: AVCodecID = 94225;
3391pub const AVCodecID_AV_CODEC_ID_WEBVTT: AVCodecID = 94226;
3392pub const AVCodecID_AV_CODEC_ID_MPL2: AVCodecID = 94227;
3393pub const AVCodecID_AV_CODEC_ID_VPLAYER: AVCodecID = 94228;
3394pub const AVCodecID_AV_CODEC_ID_PJS: AVCodecID = 94229;
3395pub const AVCodecID_AV_CODEC_ID_ASS: AVCodecID = 94230;
3396pub const AVCodecID_AV_CODEC_ID_HDMV_TEXT_SUBTITLE: AVCodecID = 94231;
3397pub const AVCodecID_AV_CODEC_ID_TTML: AVCodecID = 94232;
3398pub const AVCodecID_AV_CODEC_ID_ARIB_CAPTION: AVCodecID = 94233;
3399pub const AVCodecID_AV_CODEC_ID_FIRST_UNKNOWN: AVCodecID = 98304;
3400pub const AVCodecID_AV_CODEC_ID_TTF: AVCodecID = 98304;
3401pub const AVCodecID_AV_CODEC_ID_SCTE_35: AVCodecID = 98305;
3402pub const AVCodecID_AV_CODEC_ID_EPG: AVCodecID = 98306;
3403pub const AVCodecID_AV_CODEC_ID_BINTEXT: AVCodecID = 98307;
3404pub const AVCodecID_AV_CODEC_ID_XBIN: AVCodecID = 98308;
3405pub const AVCodecID_AV_CODEC_ID_IDF: AVCodecID = 98309;
3406pub const AVCodecID_AV_CODEC_ID_OTF: AVCodecID = 98310;
3407pub const AVCodecID_AV_CODEC_ID_SMPTE_KLV: AVCodecID = 98311;
3408pub const AVCodecID_AV_CODEC_ID_DVD_NAV: AVCodecID = 98312;
3409pub const AVCodecID_AV_CODEC_ID_TIMED_ID3: AVCodecID = 98313;
3410pub const AVCodecID_AV_CODEC_ID_BIN_DATA: AVCodecID = 98314;
3411pub const AVCodecID_AV_CODEC_ID_SMPTE_2038: AVCodecID = 98315;
3412pub const AVCodecID_AV_CODEC_ID_LCEVC: AVCodecID = 98316;
3413pub const AVCodecID_AV_CODEC_ID_PROBE: AVCodecID = 102400;
3414pub const AVCodecID_AV_CODEC_ID_MPEG2TS: AVCodecID = 131072;
3415pub const AVCodecID_AV_CODEC_ID_MPEG4SYSTEMS: AVCodecID = 131073;
3416pub const AVCodecID_AV_CODEC_ID_FFMETADATA: AVCodecID = 135168;
3417pub const AVCodecID_AV_CODEC_ID_WRAPPED_AVFRAME: AVCodecID = 135169;
3418pub const AVCodecID_AV_CODEC_ID_VNULL: AVCodecID = 135170;
3419pub const AVCodecID_AV_CODEC_ID_ANULL: AVCodecID = 135171;
3420pub type AVCodecID = ::std::os::raw::c_uint;
3421extern "C" {
3422    pub fn avcodec_get_type(codec_id: AVCodecID) -> AVMediaType;
3423}
3424extern "C" {
3425    pub fn avcodec_get_name(id: AVCodecID) -> *const ::std::os::raw::c_char;
3426}
3427extern "C" {
3428    pub fn av_get_bits_per_sample(codec_id: AVCodecID) -> ::std::os::raw::c_int;
3429}
3430extern "C" {
3431    pub fn av_get_exact_bits_per_sample(codec_id: AVCodecID) -> ::std::os::raw::c_int;
3432}
3433extern "C" {
3434    pub fn avcodec_profile_name(
3435        codec_id: AVCodecID,
3436        profile: ::std::os::raw::c_int,
3437    ) -> *const ::std::os::raw::c_char;
3438}
3439extern "C" {
3440    pub fn av_get_pcm_codec(fmt: AVSampleFormat, be: ::std::os::raw::c_int) -> AVCodecID;
3441}
3442#[repr(C)]
3443#[derive(Debug, Copy, Clone)]
3444pub struct AVProfile {
3445    pub profile: ::std::os::raw::c_int,
3446    pub name: *const ::std::os::raw::c_char,
3447}
3448#[test]
3449fn bindgen_test_layout_AVProfile() {
3450    const UNINIT: ::std::mem::MaybeUninit<AVProfile> = ::std::mem::MaybeUninit::uninit();
3451    let ptr = UNINIT.as_ptr();
3452    assert_eq!(
3453        ::std::mem::size_of::<AVProfile>(),
3454        16usize,
3455        concat!("Size of: ", stringify!(AVProfile))
3456    );
3457    assert_eq!(
3458        ::std::mem::align_of::<AVProfile>(),
3459        8usize,
3460        concat!("Alignment of ", stringify!(AVProfile))
3461    );
3462    assert_eq!(
3463        unsafe { ::std::ptr::addr_of!((*ptr).profile) as usize - ptr as usize },
3464        0usize,
3465        concat!(
3466            "Offset of field: ",
3467            stringify!(AVProfile),
3468            "::",
3469            stringify!(profile)
3470        )
3471    );
3472    assert_eq!(
3473        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
3474        8usize,
3475        concat!(
3476            "Offset of field: ",
3477            stringify!(AVProfile),
3478            "::",
3479            stringify!(name)
3480        )
3481    );
3482}
3483#[repr(C)]
3484#[derive(Debug, Copy, Clone)]
3485pub struct AVCodec {
3486    pub name: *const ::std::os::raw::c_char,
3487    pub long_name: *const ::std::os::raw::c_char,
3488    pub type_: AVMediaType,
3489    pub id: AVCodecID,
3490    pub capabilities: ::std::os::raw::c_int,
3491    pub max_lowres: u8,
3492    pub supported_framerates: *const AVRational,
3493    pub pix_fmts: *const AVPixelFormat,
3494    pub supported_samplerates: *const ::std::os::raw::c_int,
3495    pub sample_fmts: *const AVSampleFormat,
3496    pub priv_class: *const AVClass,
3497    pub profiles: *const AVProfile,
3498    pub wrapper_name: *const ::std::os::raw::c_char,
3499    pub ch_layouts: *const AVChannelLayout,
3500}
3501#[test]
3502fn bindgen_test_layout_AVCodec() {
3503    const UNINIT: ::std::mem::MaybeUninit<AVCodec> = ::std::mem::MaybeUninit::uninit();
3504    let ptr = UNINIT.as_ptr();
3505    assert_eq!(
3506        ::std::mem::size_of::<AVCodec>(),
3507        96usize,
3508        concat!("Size of: ", stringify!(AVCodec))
3509    );
3510    assert_eq!(
3511        ::std::mem::align_of::<AVCodec>(),
3512        8usize,
3513        concat!("Alignment of ", stringify!(AVCodec))
3514    );
3515    assert_eq!(
3516        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
3517        0usize,
3518        concat!(
3519            "Offset of field: ",
3520            stringify!(AVCodec),
3521            "::",
3522            stringify!(name)
3523        )
3524    );
3525    assert_eq!(
3526        unsafe { ::std::ptr::addr_of!((*ptr).long_name) as usize - ptr as usize },
3527        8usize,
3528        concat!(
3529            "Offset of field: ",
3530            stringify!(AVCodec),
3531            "::",
3532            stringify!(long_name)
3533        )
3534    );
3535    assert_eq!(
3536        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
3537        16usize,
3538        concat!(
3539            "Offset of field: ",
3540            stringify!(AVCodec),
3541            "::",
3542            stringify!(type_)
3543        )
3544    );
3545    assert_eq!(
3546        unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
3547        20usize,
3548        concat!(
3549            "Offset of field: ",
3550            stringify!(AVCodec),
3551            "::",
3552            stringify!(id)
3553        )
3554    );
3555    assert_eq!(
3556        unsafe { ::std::ptr::addr_of!((*ptr).capabilities) as usize - ptr as usize },
3557        24usize,
3558        concat!(
3559            "Offset of field: ",
3560            stringify!(AVCodec),
3561            "::",
3562            stringify!(capabilities)
3563        )
3564    );
3565    assert_eq!(
3566        unsafe { ::std::ptr::addr_of!((*ptr).max_lowres) as usize - ptr as usize },
3567        28usize,
3568        concat!(
3569            "Offset of field: ",
3570            stringify!(AVCodec),
3571            "::",
3572            stringify!(max_lowres)
3573        )
3574    );
3575    assert_eq!(
3576        unsafe { ::std::ptr::addr_of!((*ptr).supported_framerates) as usize - ptr as usize },
3577        32usize,
3578        concat!(
3579            "Offset of field: ",
3580            stringify!(AVCodec),
3581            "::",
3582            stringify!(supported_framerates)
3583        )
3584    );
3585    assert_eq!(
3586        unsafe { ::std::ptr::addr_of!((*ptr).pix_fmts) as usize - ptr as usize },
3587        40usize,
3588        concat!(
3589            "Offset of field: ",
3590            stringify!(AVCodec),
3591            "::",
3592            stringify!(pix_fmts)
3593        )
3594    );
3595    assert_eq!(
3596        unsafe { ::std::ptr::addr_of!((*ptr).supported_samplerates) as usize - ptr as usize },
3597        48usize,
3598        concat!(
3599            "Offset of field: ",
3600            stringify!(AVCodec),
3601            "::",
3602            stringify!(supported_samplerates)
3603        )
3604    );
3605    assert_eq!(
3606        unsafe { ::std::ptr::addr_of!((*ptr).sample_fmts) as usize - ptr as usize },
3607        56usize,
3608        concat!(
3609            "Offset of field: ",
3610            stringify!(AVCodec),
3611            "::",
3612            stringify!(sample_fmts)
3613        )
3614    );
3615    assert_eq!(
3616        unsafe { ::std::ptr::addr_of!((*ptr).priv_class) as usize - ptr as usize },
3617        64usize,
3618        concat!(
3619            "Offset of field: ",
3620            stringify!(AVCodec),
3621            "::",
3622            stringify!(priv_class)
3623        )
3624    );
3625    assert_eq!(
3626        unsafe { ::std::ptr::addr_of!((*ptr).profiles) as usize - ptr as usize },
3627        72usize,
3628        concat!(
3629            "Offset of field: ",
3630            stringify!(AVCodec),
3631            "::",
3632            stringify!(profiles)
3633        )
3634    );
3635    assert_eq!(
3636        unsafe { ::std::ptr::addr_of!((*ptr).wrapper_name) as usize - ptr as usize },
3637        80usize,
3638        concat!(
3639            "Offset of field: ",
3640            stringify!(AVCodec),
3641            "::",
3642            stringify!(wrapper_name)
3643        )
3644    );
3645    assert_eq!(
3646        unsafe { ::std::ptr::addr_of!((*ptr).ch_layouts) as usize - ptr as usize },
3647        88usize,
3648        concat!(
3649            "Offset of field: ",
3650            stringify!(AVCodec),
3651            "::",
3652            stringify!(ch_layouts)
3653        )
3654    );
3655}
3656extern "C" {
3657    pub fn av_codec_iterate(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVCodec;
3658}
3659extern "C" {
3660    pub fn avcodec_find_decoder(id: AVCodecID) -> *const AVCodec;
3661}
3662extern "C" {
3663    pub fn avcodec_find_decoder_by_name(name: *const ::std::os::raw::c_char) -> *const AVCodec;
3664}
3665extern "C" {
3666    pub fn avcodec_find_encoder(id: AVCodecID) -> *const AVCodec;
3667}
3668extern "C" {
3669    pub fn avcodec_find_encoder_by_name(name: *const ::std::os::raw::c_char) -> *const AVCodec;
3670}
3671extern "C" {
3672    pub fn av_codec_is_encoder(codec: *const AVCodec) -> ::std::os::raw::c_int;
3673}
3674extern "C" {
3675    pub fn av_codec_is_decoder(codec: *const AVCodec) -> ::std::os::raw::c_int;
3676}
3677extern "C" {
3678    pub fn av_get_profile_name(
3679        codec: *const AVCodec,
3680        profile: ::std::os::raw::c_int,
3681    ) -> *const ::std::os::raw::c_char;
3682}
3683pub const AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX: _bindgen_ty_4 = 1;
3684pub const AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX: _bindgen_ty_4 = 2;
3685pub const AV_CODEC_HW_CONFIG_METHOD_INTERNAL: _bindgen_ty_4 = 4;
3686pub const AV_CODEC_HW_CONFIG_METHOD_AD_HOC: _bindgen_ty_4 = 8;
3687pub type _bindgen_ty_4 = ::std::os::raw::c_uint;
3688#[repr(C)]
3689#[derive(Debug, Copy, Clone)]
3690pub struct AVCodecHWConfig {
3691    pub pix_fmt: AVPixelFormat,
3692    pub methods: ::std::os::raw::c_int,
3693    pub device_type: AVHWDeviceType,
3694}
3695#[test]
3696fn bindgen_test_layout_AVCodecHWConfig() {
3697    const UNINIT: ::std::mem::MaybeUninit<AVCodecHWConfig> = ::std::mem::MaybeUninit::uninit();
3698    let ptr = UNINIT.as_ptr();
3699    assert_eq!(
3700        ::std::mem::size_of::<AVCodecHWConfig>(),
3701        12usize,
3702        concat!("Size of: ", stringify!(AVCodecHWConfig))
3703    );
3704    assert_eq!(
3705        ::std::mem::align_of::<AVCodecHWConfig>(),
3706        4usize,
3707        concat!("Alignment of ", stringify!(AVCodecHWConfig))
3708    );
3709    assert_eq!(
3710        unsafe { ::std::ptr::addr_of!((*ptr).pix_fmt) as usize - ptr as usize },
3711        0usize,
3712        concat!(
3713            "Offset of field: ",
3714            stringify!(AVCodecHWConfig),
3715            "::",
3716            stringify!(pix_fmt)
3717        )
3718    );
3719    assert_eq!(
3720        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
3721        4usize,
3722        concat!(
3723            "Offset of field: ",
3724            stringify!(AVCodecHWConfig),
3725            "::",
3726            stringify!(methods)
3727        )
3728    );
3729    assert_eq!(
3730        unsafe { ::std::ptr::addr_of!((*ptr).device_type) as usize - ptr as usize },
3731        8usize,
3732        concat!(
3733            "Offset of field: ",
3734            stringify!(AVCodecHWConfig),
3735            "::",
3736            stringify!(device_type)
3737        )
3738    );
3739}
3740extern "C" {
3741    pub fn avcodec_get_hw_config(
3742        codec: *const AVCodec,
3743        index: ::std::os::raw::c_int,
3744    ) -> *const AVCodecHWConfig;
3745}
3746pub const AVFieldOrder_AV_FIELD_UNKNOWN: AVFieldOrder = 0;
3747pub const AVFieldOrder_AV_FIELD_PROGRESSIVE: AVFieldOrder = 1;
3748pub const AVFieldOrder_AV_FIELD_TT: AVFieldOrder = 2;
3749pub const AVFieldOrder_AV_FIELD_BB: AVFieldOrder = 3;
3750pub const AVFieldOrder_AV_FIELD_TB: AVFieldOrder = 4;
3751pub const AVFieldOrder_AV_FIELD_BT: AVFieldOrder = 5;
3752pub type AVFieldOrder = ::std::os::raw::c_uint;
3753pub const AVDiscard_AVDISCARD_NONE: AVDiscard = -16;
3754pub const AVDiscard_AVDISCARD_DEFAULT: AVDiscard = 0;
3755pub const AVDiscard_AVDISCARD_NONREF: AVDiscard = 8;
3756pub const AVDiscard_AVDISCARD_BIDIR: AVDiscard = 16;
3757pub const AVDiscard_AVDISCARD_NONINTRA: AVDiscard = 24;
3758pub const AVDiscard_AVDISCARD_NONKEY: AVDiscard = 32;
3759pub const AVDiscard_AVDISCARD_ALL: AVDiscard = 48;
3760pub type AVDiscard = ::std::os::raw::c_int;
3761pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_MAIN: AVAudioServiceType = 0;
3762pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_EFFECTS: AVAudioServiceType = 1;
3763pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED: AVAudioServiceType = 2;
3764pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED: AVAudioServiceType = 3;
3765pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_DIALOGUE: AVAudioServiceType = 4;
3766pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_COMMENTARY: AVAudioServiceType = 5;
3767pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_EMERGENCY: AVAudioServiceType = 6;
3768pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_VOICE_OVER: AVAudioServiceType = 7;
3769pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_KARAOKE: AVAudioServiceType = 8;
3770pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_NB: AVAudioServiceType = 9;
3771pub type AVAudioServiceType = ::std::os::raw::c_uint;
3772#[repr(C)]
3773#[derive(Debug, Copy, Clone)]
3774pub struct AVCPBProperties {
3775    pub max_bitrate: i64,
3776    pub min_bitrate: i64,
3777    pub avg_bitrate: i64,
3778    pub buffer_size: i64,
3779    pub vbv_delay: u64,
3780}
3781#[test]
3782fn bindgen_test_layout_AVCPBProperties() {
3783    const UNINIT: ::std::mem::MaybeUninit<AVCPBProperties> = ::std::mem::MaybeUninit::uninit();
3784    let ptr = UNINIT.as_ptr();
3785    assert_eq!(
3786        ::std::mem::size_of::<AVCPBProperties>(),
3787        40usize,
3788        concat!("Size of: ", stringify!(AVCPBProperties))
3789    );
3790    assert_eq!(
3791        ::std::mem::align_of::<AVCPBProperties>(),
3792        8usize,
3793        concat!("Alignment of ", stringify!(AVCPBProperties))
3794    );
3795    assert_eq!(
3796        unsafe { ::std::ptr::addr_of!((*ptr).max_bitrate) as usize - ptr as usize },
3797        0usize,
3798        concat!(
3799            "Offset of field: ",
3800            stringify!(AVCPBProperties),
3801            "::",
3802            stringify!(max_bitrate)
3803        )
3804    );
3805    assert_eq!(
3806        unsafe { ::std::ptr::addr_of!((*ptr).min_bitrate) as usize - ptr as usize },
3807        8usize,
3808        concat!(
3809            "Offset of field: ",
3810            stringify!(AVCPBProperties),
3811            "::",
3812            stringify!(min_bitrate)
3813        )
3814    );
3815    assert_eq!(
3816        unsafe { ::std::ptr::addr_of!((*ptr).avg_bitrate) as usize - ptr as usize },
3817        16usize,
3818        concat!(
3819            "Offset of field: ",
3820            stringify!(AVCPBProperties),
3821            "::",
3822            stringify!(avg_bitrate)
3823        )
3824    );
3825    assert_eq!(
3826        unsafe { ::std::ptr::addr_of!((*ptr).buffer_size) as usize - ptr as usize },
3827        24usize,
3828        concat!(
3829            "Offset of field: ",
3830            stringify!(AVCPBProperties),
3831            "::",
3832            stringify!(buffer_size)
3833        )
3834    );
3835    assert_eq!(
3836        unsafe { ::std::ptr::addr_of!((*ptr).vbv_delay) as usize - ptr as usize },
3837        32usize,
3838        concat!(
3839            "Offset of field: ",
3840            stringify!(AVCPBProperties),
3841            "::",
3842            stringify!(vbv_delay)
3843        )
3844    );
3845}
3846extern "C" {
3847    pub fn av_cpb_properties_alloc(size: *mut usize) -> *mut AVCPBProperties;
3848}
3849extern "C" {
3850    pub fn av_xiphlacing(
3851        s: *mut ::std::os::raw::c_uchar,
3852        v: ::std::os::raw::c_uint,
3853    ) -> ::std::os::raw::c_uint;
3854}
3855pub const AVPacketSideDataType_AV_PKT_DATA_PALETTE: AVPacketSideDataType = 0;
3856pub const AVPacketSideDataType_AV_PKT_DATA_NEW_EXTRADATA: AVPacketSideDataType = 1;
3857pub const AVPacketSideDataType_AV_PKT_DATA_PARAM_CHANGE: AVPacketSideDataType = 2;
3858pub const AVPacketSideDataType_AV_PKT_DATA_H263_MB_INFO: AVPacketSideDataType = 3;
3859pub const AVPacketSideDataType_AV_PKT_DATA_REPLAYGAIN: AVPacketSideDataType = 4;
3860pub const AVPacketSideDataType_AV_PKT_DATA_DISPLAYMATRIX: AVPacketSideDataType = 5;
3861pub const AVPacketSideDataType_AV_PKT_DATA_STEREO3D: AVPacketSideDataType = 6;
3862pub const AVPacketSideDataType_AV_PKT_DATA_AUDIO_SERVICE_TYPE: AVPacketSideDataType = 7;
3863pub const AVPacketSideDataType_AV_PKT_DATA_QUALITY_STATS: AVPacketSideDataType = 8;
3864pub const AVPacketSideDataType_AV_PKT_DATA_FALLBACK_TRACK: AVPacketSideDataType = 9;
3865pub const AVPacketSideDataType_AV_PKT_DATA_CPB_PROPERTIES: AVPacketSideDataType = 10;
3866pub const AVPacketSideDataType_AV_PKT_DATA_SKIP_SAMPLES: AVPacketSideDataType = 11;
3867pub const AVPacketSideDataType_AV_PKT_DATA_JP_DUALMONO: AVPacketSideDataType = 12;
3868pub const AVPacketSideDataType_AV_PKT_DATA_STRINGS_METADATA: AVPacketSideDataType = 13;
3869pub const AVPacketSideDataType_AV_PKT_DATA_SUBTITLE_POSITION: AVPacketSideDataType = 14;
3870pub const AVPacketSideDataType_AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL: AVPacketSideDataType = 15;
3871pub const AVPacketSideDataType_AV_PKT_DATA_WEBVTT_IDENTIFIER: AVPacketSideDataType = 16;
3872pub const AVPacketSideDataType_AV_PKT_DATA_WEBVTT_SETTINGS: AVPacketSideDataType = 17;
3873pub const AVPacketSideDataType_AV_PKT_DATA_METADATA_UPDATE: AVPacketSideDataType = 18;
3874pub const AVPacketSideDataType_AV_PKT_DATA_MPEGTS_STREAM_ID: AVPacketSideDataType = 19;
3875pub const AVPacketSideDataType_AV_PKT_DATA_MASTERING_DISPLAY_METADATA: AVPacketSideDataType = 20;
3876pub const AVPacketSideDataType_AV_PKT_DATA_SPHERICAL: AVPacketSideDataType = 21;
3877pub const AVPacketSideDataType_AV_PKT_DATA_CONTENT_LIGHT_LEVEL: AVPacketSideDataType = 22;
3878pub const AVPacketSideDataType_AV_PKT_DATA_A53_CC: AVPacketSideDataType = 23;
3879pub const AVPacketSideDataType_AV_PKT_DATA_ENCRYPTION_INIT_INFO: AVPacketSideDataType = 24;
3880pub const AVPacketSideDataType_AV_PKT_DATA_ENCRYPTION_INFO: AVPacketSideDataType = 25;
3881pub const AVPacketSideDataType_AV_PKT_DATA_AFD: AVPacketSideDataType = 26;
3882pub const AVPacketSideDataType_AV_PKT_DATA_PRFT: AVPacketSideDataType = 27;
3883pub const AVPacketSideDataType_AV_PKT_DATA_ICC_PROFILE: AVPacketSideDataType = 28;
3884pub const AVPacketSideDataType_AV_PKT_DATA_DOVI_CONF: AVPacketSideDataType = 29;
3885pub const AVPacketSideDataType_AV_PKT_DATA_S12M_TIMECODE: AVPacketSideDataType = 30;
3886pub const AVPacketSideDataType_AV_PKT_DATA_DYNAMIC_HDR10_PLUS: AVPacketSideDataType = 31;
3887pub const AVPacketSideDataType_AV_PKT_DATA_IAMF_MIX_GAIN_PARAM: AVPacketSideDataType = 32;
3888pub const AVPacketSideDataType_AV_PKT_DATA_IAMF_DEMIXING_INFO_PARAM: AVPacketSideDataType = 33;
3889pub const AVPacketSideDataType_AV_PKT_DATA_IAMF_RECON_GAIN_INFO_PARAM: AVPacketSideDataType = 34;
3890pub const AVPacketSideDataType_AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT: AVPacketSideDataType = 35;
3891pub const AVPacketSideDataType_AV_PKT_DATA_FRAME_CROPPING: AVPacketSideDataType = 36;
3892pub const AVPacketSideDataType_AV_PKT_DATA_LCEVC: AVPacketSideDataType = 37;
3893pub const AVPacketSideDataType_AV_PKT_DATA_NB: AVPacketSideDataType = 38;
3894pub type AVPacketSideDataType = ::std::os::raw::c_uint;
3895#[repr(C)]
3896#[derive(Debug, Copy, Clone)]
3897pub struct AVPacketSideData {
3898    pub data: *mut u8,
3899    pub size: usize,
3900    pub type_: AVPacketSideDataType,
3901}
3902#[test]
3903fn bindgen_test_layout_AVPacketSideData() {
3904    const UNINIT: ::std::mem::MaybeUninit<AVPacketSideData> = ::std::mem::MaybeUninit::uninit();
3905    let ptr = UNINIT.as_ptr();
3906    assert_eq!(
3907        ::std::mem::size_of::<AVPacketSideData>(),
3908        24usize,
3909        concat!("Size of: ", stringify!(AVPacketSideData))
3910    );
3911    assert_eq!(
3912        ::std::mem::align_of::<AVPacketSideData>(),
3913        8usize,
3914        concat!("Alignment of ", stringify!(AVPacketSideData))
3915    );
3916    assert_eq!(
3917        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
3918        0usize,
3919        concat!(
3920            "Offset of field: ",
3921            stringify!(AVPacketSideData),
3922            "::",
3923            stringify!(data)
3924        )
3925    );
3926    assert_eq!(
3927        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
3928        8usize,
3929        concat!(
3930            "Offset of field: ",
3931            stringify!(AVPacketSideData),
3932            "::",
3933            stringify!(size)
3934        )
3935    );
3936    assert_eq!(
3937        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
3938        16usize,
3939        concat!(
3940            "Offset of field: ",
3941            stringify!(AVPacketSideData),
3942            "::",
3943            stringify!(type_)
3944        )
3945    );
3946}
3947extern "C" {
3948    pub fn av_packet_side_data_new(
3949        psd: *mut *mut AVPacketSideData,
3950        pnb_sd: *mut ::std::os::raw::c_int,
3951        type_: AVPacketSideDataType,
3952        size: usize,
3953        flags: ::std::os::raw::c_int,
3954    ) -> *mut AVPacketSideData;
3955}
3956extern "C" {
3957    pub fn av_packet_side_data_add(
3958        sd: *mut *mut AVPacketSideData,
3959        nb_sd: *mut ::std::os::raw::c_int,
3960        type_: AVPacketSideDataType,
3961        data: *mut ::std::os::raw::c_void,
3962        size: usize,
3963        flags: ::std::os::raw::c_int,
3964    ) -> *mut AVPacketSideData;
3965}
3966extern "C" {
3967    pub fn av_packet_side_data_get(
3968        sd: *const AVPacketSideData,
3969        nb_sd: ::std::os::raw::c_int,
3970        type_: AVPacketSideDataType,
3971    ) -> *const AVPacketSideData;
3972}
3973extern "C" {
3974    pub fn av_packet_side_data_remove(
3975        sd: *mut AVPacketSideData,
3976        nb_sd: *mut ::std::os::raw::c_int,
3977        type_: AVPacketSideDataType,
3978    );
3979}
3980extern "C" {
3981    pub fn av_packet_side_data_free(
3982        sd: *mut *mut AVPacketSideData,
3983        nb_sd: *mut ::std::os::raw::c_int,
3984    );
3985}
3986extern "C" {
3987    pub fn av_packet_side_data_name(type_: AVPacketSideDataType) -> *const ::std::os::raw::c_char;
3988}
3989#[repr(C)]
3990#[derive(Debug, Copy, Clone)]
3991pub struct AVPacket {
3992    pub buf: *mut AVBufferRef,
3993    pub pts: i64,
3994    pub dts: i64,
3995    pub data: *mut u8,
3996    pub size: ::std::os::raw::c_int,
3997    pub stream_index: ::std::os::raw::c_int,
3998    pub flags: ::std::os::raw::c_int,
3999    pub side_data: *mut AVPacketSideData,
4000    pub side_data_elems: ::std::os::raw::c_int,
4001    pub duration: i64,
4002    pub pos: i64,
4003    pub opaque: *mut ::std::os::raw::c_void,
4004    pub opaque_ref: *mut AVBufferRef,
4005    pub time_base: AVRational,
4006}
4007#[test]
4008fn bindgen_test_layout_AVPacket() {
4009    const UNINIT: ::std::mem::MaybeUninit<AVPacket> = ::std::mem::MaybeUninit::uninit();
4010    let ptr = UNINIT.as_ptr();
4011    assert_eq!(
4012        ::std::mem::size_of::<AVPacket>(),
4013        104usize,
4014        concat!("Size of: ", stringify!(AVPacket))
4015    );
4016    assert_eq!(
4017        ::std::mem::align_of::<AVPacket>(),
4018        8usize,
4019        concat!("Alignment of ", stringify!(AVPacket))
4020    );
4021    assert_eq!(
4022        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
4023        0usize,
4024        concat!(
4025            "Offset of field: ",
4026            stringify!(AVPacket),
4027            "::",
4028            stringify!(buf)
4029        )
4030    );
4031    assert_eq!(
4032        unsafe { ::std::ptr::addr_of!((*ptr).pts) as usize - ptr as usize },
4033        8usize,
4034        concat!(
4035            "Offset of field: ",
4036            stringify!(AVPacket),
4037            "::",
4038            stringify!(pts)
4039        )
4040    );
4041    assert_eq!(
4042        unsafe { ::std::ptr::addr_of!((*ptr).dts) as usize - ptr as usize },
4043        16usize,
4044        concat!(
4045            "Offset of field: ",
4046            stringify!(AVPacket),
4047            "::",
4048            stringify!(dts)
4049        )
4050    );
4051    assert_eq!(
4052        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4053        24usize,
4054        concat!(
4055            "Offset of field: ",
4056            stringify!(AVPacket),
4057            "::",
4058            stringify!(data)
4059        )
4060    );
4061    assert_eq!(
4062        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
4063        32usize,
4064        concat!(
4065            "Offset of field: ",
4066            stringify!(AVPacket),
4067            "::",
4068            stringify!(size)
4069        )
4070    );
4071    assert_eq!(
4072        unsafe { ::std::ptr::addr_of!((*ptr).stream_index) as usize - ptr as usize },
4073        36usize,
4074        concat!(
4075            "Offset of field: ",
4076            stringify!(AVPacket),
4077            "::",
4078            stringify!(stream_index)
4079        )
4080    );
4081    assert_eq!(
4082        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
4083        40usize,
4084        concat!(
4085            "Offset of field: ",
4086            stringify!(AVPacket),
4087            "::",
4088            stringify!(flags)
4089        )
4090    );
4091    assert_eq!(
4092        unsafe { ::std::ptr::addr_of!((*ptr).side_data) as usize - ptr as usize },
4093        48usize,
4094        concat!(
4095            "Offset of field: ",
4096            stringify!(AVPacket),
4097            "::",
4098            stringify!(side_data)
4099        )
4100    );
4101    assert_eq!(
4102        unsafe { ::std::ptr::addr_of!((*ptr).side_data_elems) as usize - ptr as usize },
4103        56usize,
4104        concat!(
4105            "Offset of field: ",
4106            stringify!(AVPacket),
4107            "::",
4108            stringify!(side_data_elems)
4109        )
4110    );
4111    assert_eq!(
4112        unsafe { ::std::ptr::addr_of!((*ptr).duration) as usize - ptr as usize },
4113        64usize,
4114        concat!(
4115            "Offset of field: ",
4116            stringify!(AVPacket),
4117            "::",
4118            stringify!(duration)
4119        )
4120    );
4121    assert_eq!(
4122        unsafe { ::std::ptr::addr_of!((*ptr).pos) as usize - ptr as usize },
4123        72usize,
4124        concat!(
4125            "Offset of field: ",
4126            stringify!(AVPacket),
4127            "::",
4128            stringify!(pos)
4129        )
4130    );
4131    assert_eq!(
4132        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
4133        80usize,
4134        concat!(
4135            "Offset of field: ",
4136            stringify!(AVPacket),
4137            "::",
4138            stringify!(opaque)
4139        )
4140    );
4141    assert_eq!(
4142        unsafe { ::std::ptr::addr_of!((*ptr).opaque_ref) as usize - ptr as usize },
4143        88usize,
4144        concat!(
4145            "Offset of field: ",
4146            stringify!(AVPacket),
4147            "::",
4148            stringify!(opaque_ref)
4149        )
4150    );
4151    assert_eq!(
4152        unsafe { ::std::ptr::addr_of!((*ptr).time_base) as usize - ptr as usize },
4153        96usize,
4154        concat!(
4155            "Offset of field: ",
4156            stringify!(AVPacket),
4157            "::",
4158            stringify!(time_base)
4159        )
4160    );
4161}
4162extern "C" {
4163    pub fn av_packet_alloc() -> *mut AVPacket;
4164}
4165extern "C" {
4166    pub fn av_packet_clone(src: *const AVPacket) -> *mut AVPacket;
4167}
4168extern "C" {
4169    pub fn av_packet_free(pkt: *mut *mut AVPacket);
4170}
4171extern "C" {
4172    pub fn av_init_packet(pkt: *mut AVPacket);
4173}
4174extern "C" {
4175    pub fn av_new_packet(pkt: *mut AVPacket, size: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4176}
4177extern "C" {
4178    pub fn av_shrink_packet(pkt: *mut AVPacket, size: ::std::os::raw::c_int);
4179}
4180extern "C" {
4181    pub fn av_grow_packet(
4182        pkt: *mut AVPacket,
4183        grow_by: ::std::os::raw::c_int,
4184    ) -> ::std::os::raw::c_int;
4185}
4186extern "C" {
4187    pub fn av_packet_from_data(
4188        pkt: *mut AVPacket,
4189        data: *mut u8,
4190        size: ::std::os::raw::c_int,
4191    ) -> ::std::os::raw::c_int;
4192}
4193extern "C" {
4194    pub fn av_packet_new_side_data(
4195        pkt: *mut AVPacket,
4196        type_: AVPacketSideDataType,
4197        size: usize,
4198    ) -> *mut u8;
4199}
4200extern "C" {
4201    pub fn av_packet_add_side_data(
4202        pkt: *mut AVPacket,
4203        type_: AVPacketSideDataType,
4204        data: *mut u8,
4205        size: usize,
4206    ) -> ::std::os::raw::c_int;
4207}
4208extern "C" {
4209    pub fn av_packet_shrink_side_data(
4210        pkt: *mut AVPacket,
4211        type_: AVPacketSideDataType,
4212        size: usize,
4213    ) -> ::std::os::raw::c_int;
4214}
4215extern "C" {
4216    pub fn av_packet_get_side_data(
4217        pkt: *const AVPacket,
4218        type_: AVPacketSideDataType,
4219        size: *mut usize,
4220    ) -> *mut u8;
4221}
4222extern "C" {
4223    pub fn av_packet_pack_dictionary(dict: *mut AVDictionary, size: *mut usize) -> *mut u8;
4224}
4225extern "C" {
4226    pub fn av_packet_unpack_dictionary(
4227        data: *const u8,
4228        size: usize,
4229        dict: *mut *mut AVDictionary,
4230    ) -> ::std::os::raw::c_int;
4231}
4232extern "C" {
4233    pub fn av_packet_free_side_data(pkt: *mut AVPacket);
4234}
4235extern "C" {
4236    pub fn av_packet_ref(dst: *mut AVPacket, src: *const AVPacket) -> ::std::os::raw::c_int;
4237}
4238extern "C" {
4239    pub fn av_packet_unref(pkt: *mut AVPacket);
4240}
4241extern "C" {
4242    pub fn av_packet_move_ref(dst: *mut AVPacket, src: *mut AVPacket);
4243}
4244extern "C" {
4245    pub fn av_packet_copy_props(dst: *mut AVPacket, src: *const AVPacket) -> ::std::os::raw::c_int;
4246}
4247extern "C" {
4248    pub fn av_packet_make_refcounted(pkt: *mut AVPacket) -> ::std::os::raw::c_int;
4249}
4250extern "C" {
4251    pub fn av_packet_make_writable(pkt: *mut AVPacket) -> ::std::os::raw::c_int;
4252}
4253extern "C" {
4254    pub fn av_packet_rescale_ts(pkt: *mut AVPacket, tb_src: AVRational, tb_dst: AVRational);
4255}
4256#[repr(C)]
4257#[derive(Debug, Copy, Clone)]
4258pub struct AVCodecDescriptor {
4259    pub id: AVCodecID,
4260    pub type_: AVMediaType,
4261    pub name: *const ::std::os::raw::c_char,
4262    pub long_name: *const ::std::os::raw::c_char,
4263    pub props: ::std::os::raw::c_int,
4264    pub mime_types: *const *const ::std::os::raw::c_char,
4265    pub profiles: *const AVProfile,
4266}
4267#[test]
4268fn bindgen_test_layout_AVCodecDescriptor() {
4269    const UNINIT: ::std::mem::MaybeUninit<AVCodecDescriptor> = ::std::mem::MaybeUninit::uninit();
4270    let ptr = UNINIT.as_ptr();
4271    assert_eq!(
4272        ::std::mem::size_of::<AVCodecDescriptor>(),
4273        48usize,
4274        concat!("Size of: ", stringify!(AVCodecDescriptor))
4275    );
4276    assert_eq!(
4277        ::std::mem::align_of::<AVCodecDescriptor>(),
4278        8usize,
4279        concat!("Alignment of ", stringify!(AVCodecDescriptor))
4280    );
4281    assert_eq!(
4282        unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
4283        0usize,
4284        concat!(
4285            "Offset of field: ",
4286            stringify!(AVCodecDescriptor),
4287            "::",
4288            stringify!(id)
4289        )
4290    );
4291    assert_eq!(
4292        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
4293        4usize,
4294        concat!(
4295            "Offset of field: ",
4296            stringify!(AVCodecDescriptor),
4297            "::",
4298            stringify!(type_)
4299        )
4300    );
4301    assert_eq!(
4302        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
4303        8usize,
4304        concat!(
4305            "Offset of field: ",
4306            stringify!(AVCodecDescriptor),
4307            "::",
4308            stringify!(name)
4309        )
4310    );
4311    assert_eq!(
4312        unsafe { ::std::ptr::addr_of!((*ptr).long_name) as usize - ptr as usize },
4313        16usize,
4314        concat!(
4315            "Offset of field: ",
4316            stringify!(AVCodecDescriptor),
4317            "::",
4318            stringify!(long_name)
4319        )
4320    );
4321    assert_eq!(
4322        unsafe { ::std::ptr::addr_of!((*ptr).props) as usize - ptr as usize },
4323        24usize,
4324        concat!(
4325            "Offset of field: ",
4326            stringify!(AVCodecDescriptor),
4327            "::",
4328            stringify!(props)
4329        )
4330    );
4331    assert_eq!(
4332        unsafe { ::std::ptr::addr_of!((*ptr).mime_types) as usize - ptr as usize },
4333        32usize,
4334        concat!(
4335            "Offset of field: ",
4336            stringify!(AVCodecDescriptor),
4337            "::",
4338            stringify!(mime_types)
4339        )
4340    );
4341    assert_eq!(
4342        unsafe { ::std::ptr::addr_of!((*ptr).profiles) as usize - ptr as usize },
4343        40usize,
4344        concat!(
4345            "Offset of field: ",
4346            stringify!(AVCodecDescriptor),
4347            "::",
4348            stringify!(profiles)
4349        )
4350    );
4351}
4352extern "C" {
4353    pub fn avcodec_descriptor_get(id: AVCodecID) -> *const AVCodecDescriptor;
4354}
4355extern "C" {
4356    pub fn avcodec_descriptor_next(prev: *const AVCodecDescriptor) -> *const AVCodecDescriptor;
4357}
4358extern "C" {
4359    pub fn avcodec_descriptor_get_by_name(
4360        name: *const ::std::os::raw::c_char,
4361    ) -> *const AVCodecDescriptor;
4362}
4363#[repr(C)]
4364#[derive(Copy, Clone)]
4365pub struct AVCodecParameters {
4366    pub codec_type: AVMediaType,
4367    pub codec_id: AVCodecID,
4368    pub codec_tag: u32,
4369    pub extradata: *mut u8,
4370    pub extradata_size: ::std::os::raw::c_int,
4371    pub coded_side_data: *mut AVPacketSideData,
4372    pub nb_coded_side_data: ::std::os::raw::c_int,
4373    pub format: ::std::os::raw::c_int,
4374    pub bit_rate: i64,
4375    pub bits_per_coded_sample: ::std::os::raw::c_int,
4376    pub bits_per_raw_sample: ::std::os::raw::c_int,
4377    pub profile: ::std::os::raw::c_int,
4378    pub level: ::std::os::raw::c_int,
4379    pub width: ::std::os::raw::c_int,
4380    pub height: ::std::os::raw::c_int,
4381    pub sample_aspect_ratio: AVRational,
4382    pub framerate: AVRational,
4383    pub field_order: AVFieldOrder,
4384    pub color_range: AVColorRange,
4385    pub color_primaries: AVColorPrimaries,
4386    pub color_trc: AVColorTransferCharacteristic,
4387    pub color_space: AVColorSpace,
4388    pub chroma_location: AVChromaLocation,
4389    pub video_delay: ::std::os::raw::c_int,
4390    pub ch_layout: AVChannelLayout,
4391    pub sample_rate: ::std::os::raw::c_int,
4392    pub block_align: ::std::os::raw::c_int,
4393    pub frame_size: ::std::os::raw::c_int,
4394    pub initial_padding: ::std::os::raw::c_int,
4395    pub trailing_padding: ::std::os::raw::c_int,
4396    pub seek_preroll: ::std::os::raw::c_int,
4397}
4398#[test]
4399fn bindgen_test_layout_AVCodecParameters() {
4400    const UNINIT: ::std::mem::MaybeUninit<AVCodecParameters> = ::std::mem::MaybeUninit::uninit();
4401    let ptr = UNINIT.as_ptr();
4402    assert_eq!(
4403        ::std::mem::size_of::<AVCodecParameters>(),
4404        176usize,
4405        concat!("Size of: ", stringify!(AVCodecParameters))
4406    );
4407    assert_eq!(
4408        ::std::mem::align_of::<AVCodecParameters>(),
4409        8usize,
4410        concat!("Alignment of ", stringify!(AVCodecParameters))
4411    );
4412    assert_eq!(
4413        unsafe { ::std::ptr::addr_of!((*ptr).codec_type) as usize - ptr as usize },
4414        0usize,
4415        concat!(
4416            "Offset of field: ",
4417            stringify!(AVCodecParameters),
4418            "::",
4419            stringify!(codec_type)
4420        )
4421    );
4422    assert_eq!(
4423        unsafe { ::std::ptr::addr_of!((*ptr).codec_id) as usize - ptr as usize },
4424        4usize,
4425        concat!(
4426            "Offset of field: ",
4427            stringify!(AVCodecParameters),
4428            "::",
4429            stringify!(codec_id)
4430        )
4431    );
4432    assert_eq!(
4433        unsafe { ::std::ptr::addr_of!((*ptr).codec_tag) as usize - ptr as usize },
4434        8usize,
4435        concat!(
4436            "Offset of field: ",
4437            stringify!(AVCodecParameters),
4438            "::",
4439            stringify!(codec_tag)
4440        )
4441    );
4442    assert_eq!(
4443        unsafe { ::std::ptr::addr_of!((*ptr).extradata) as usize - ptr as usize },
4444        16usize,
4445        concat!(
4446            "Offset of field: ",
4447            stringify!(AVCodecParameters),
4448            "::",
4449            stringify!(extradata)
4450        )
4451    );
4452    assert_eq!(
4453        unsafe { ::std::ptr::addr_of!((*ptr).extradata_size) as usize - ptr as usize },
4454        24usize,
4455        concat!(
4456            "Offset of field: ",
4457            stringify!(AVCodecParameters),
4458            "::",
4459            stringify!(extradata_size)
4460        )
4461    );
4462    assert_eq!(
4463        unsafe { ::std::ptr::addr_of!((*ptr).coded_side_data) as usize - ptr as usize },
4464        32usize,
4465        concat!(
4466            "Offset of field: ",
4467            stringify!(AVCodecParameters),
4468            "::",
4469            stringify!(coded_side_data)
4470        )
4471    );
4472    assert_eq!(
4473        unsafe { ::std::ptr::addr_of!((*ptr).nb_coded_side_data) as usize - ptr as usize },
4474        40usize,
4475        concat!(
4476            "Offset of field: ",
4477            stringify!(AVCodecParameters),
4478            "::",
4479            stringify!(nb_coded_side_data)
4480        )
4481    );
4482    assert_eq!(
4483        unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
4484        44usize,
4485        concat!(
4486            "Offset of field: ",
4487            stringify!(AVCodecParameters),
4488            "::",
4489            stringify!(format)
4490        )
4491    );
4492    assert_eq!(
4493        unsafe { ::std::ptr::addr_of!((*ptr).bit_rate) as usize - ptr as usize },
4494        48usize,
4495        concat!(
4496            "Offset of field: ",
4497            stringify!(AVCodecParameters),
4498            "::",
4499            stringify!(bit_rate)
4500        )
4501    );
4502    assert_eq!(
4503        unsafe { ::std::ptr::addr_of!((*ptr).bits_per_coded_sample) as usize - ptr as usize },
4504        56usize,
4505        concat!(
4506            "Offset of field: ",
4507            stringify!(AVCodecParameters),
4508            "::",
4509            stringify!(bits_per_coded_sample)
4510        )
4511    );
4512    assert_eq!(
4513        unsafe { ::std::ptr::addr_of!((*ptr).bits_per_raw_sample) as usize - ptr as usize },
4514        60usize,
4515        concat!(
4516            "Offset of field: ",
4517            stringify!(AVCodecParameters),
4518            "::",
4519            stringify!(bits_per_raw_sample)
4520        )
4521    );
4522    assert_eq!(
4523        unsafe { ::std::ptr::addr_of!((*ptr).profile) as usize - ptr as usize },
4524        64usize,
4525        concat!(
4526            "Offset of field: ",
4527            stringify!(AVCodecParameters),
4528            "::",
4529            stringify!(profile)
4530        )
4531    );
4532    assert_eq!(
4533        unsafe { ::std::ptr::addr_of!((*ptr).level) as usize - ptr as usize },
4534        68usize,
4535        concat!(
4536            "Offset of field: ",
4537            stringify!(AVCodecParameters),
4538            "::",
4539            stringify!(level)
4540        )
4541    );
4542    assert_eq!(
4543        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
4544        72usize,
4545        concat!(
4546            "Offset of field: ",
4547            stringify!(AVCodecParameters),
4548            "::",
4549            stringify!(width)
4550        )
4551    );
4552    assert_eq!(
4553        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
4554        76usize,
4555        concat!(
4556            "Offset of field: ",
4557            stringify!(AVCodecParameters),
4558            "::",
4559            stringify!(height)
4560        )
4561    );
4562    assert_eq!(
4563        unsafe { ::std::ptr::addr_of!((*ptr).sample_aspect_ratio) as usize - ptr as usize },
4564        80usize,
4565        concat!(
4566            "Offset of field: ",
4567            stringify!(AVCodecParameters),
4568            "::",
4569            stringify!(sample_aspect_ratio)
4570        )
4571    );
4572    assert_eq!(
4573        unsafe { ::std::ptr::addr_of!((*ptr).framerate) as usize - ptr as usize },
4574        88usize,
4575        concat!(
4576            "Offset of field: ",
4577            stringify!(AVCodecParameters),
4578            "::",
4579            stringify!(framerate)
4580        )
4581    );
4582    assert_eq!(
4583        unsafe { ::std::ptr::addr_of!((*ptr).field_order) as usize - ptr as usize },
4584        96usize,
4585        concat!(
4586            "Offset of field: ",
4587            stringify!(AVCodecParameters),
4588            "::",
4589            stringify!(field_order)
4590        )
4591    );
4592    assert_eq!(
4593        unsafe { ::std::ptr::addr_of!((*ptr).color_range) as usize - ptr as usize },
4594        100usize,
4595        concat!(
4596            "Offset of field: ",
4597            stringify!(AVCodecParameters),
4598            "::",
4599            stringify!(color_range)
4600        )
4601    );
4602    assert_eq!(
4603        unsafe { ::std::ptr::addr_of!((*ptr).color_primaries) as usize - ptr as usize },
4604        104usize,
4605        concat!(
4606            "Offset of field: ",
4607            stringify!(AVCodecParameters),
4608            "::",
4609            stringify!(color_primaries)
4610        )
4611    );
4612    assert_eq!(
4613        unsafe { ::std::ptr::addr_of!((*ptr).color_trc) as usize - ptr as usize },
4614        108usize,
4615        concat!(
4616            "Offset of field: ",
4617            stringify!(AVCodecParameters),
4618            "::",
4619            stringify!(color_trc)
4620        )
4621    );
4622    assert_eq!(
4623        unsafe { ::std::ptr::addr_of!((*ptr).color_space) as usize - ptr as usize },
4624        112usize,
4625        concat!(
4626            "Offset of field: ",
4627            stringify!(AVCodecParameters),
4628            "::",
4629            stringify!(color_space)
4630        )
4631    );
4632    assert_eq!(
4633        unsafe { ::std::ptr::addr_of!((*ptr).chroma_location) as usize - ptr as usize },
4634        116usize,
4635        concat!(
4636            "Offset of field: ",
4637            stringify!(AVCodecParameters),
4638            "::",
4639            stringify!(chroma_location)
4640        )
4641    );
4642    assert_eq!(
4643        unsafe { ::std::ptr::addr_of!((*ptr).video_delay) as usize - ptr as usize },
4644        120usize,
4645        concat!(
4646            "Offset of field: ",
4647            stringify!(AVCodecParameters),
4648            "::",
4649            stringify!(video_delay)
4650        )
4651    );
4652    assert_eq!(
4653        unsafe { ::std::ptr::addr_of!((*ptr).ch_layout) as usize - ptr as usize },
4654        128usize,
4655        concat!(
4656            "Offset of field: ",
4657            stringify!(AVCodecParameters),
4658            "::",
4659            stringify!(ch_layout)
4660        )
4661    );
4662    assert_eq!(
4663        unsafe { ::std::ptr::addr_of!((*ptr).sample_rate) as usize - ptr as usize },
4664        152usize,
4665        concat!(
4666            "Offset of field: ",
4667            stringify!(AVCodecParameters),
4668            "::",
4669            stringify!(sample_rate)
4670        )
4671    );
4672    assert_eq!(
4673        unsafe { ::std::ptr::addr_of!((*ptr).block_align) as usize - ptr as usize },
4674        156usize,
4675        concat!(
4676            "Offset of field: ",
4677            stringify!(AVCodecParameters),
4678            "::",
4679            stringify!(block_align)
4680        )
4681    );
4682    assert_eq!(
4683        unsafe { ::std::ptr::addr_of!((*ptr).frame_size) as usize - ptr as usize },
4684        160usize,
4685        concat!(
4686            "Offset of field: ",
4687            stringify!(AVCodecParameters),
4688            "::",
4689            stringify!(frame_size)
4690        )
4691    );
4692    assert_eq!(
4693        unsafe { ::std::ptr::addr_of!((*ptr).initial_padding) as usize - ptr as usize },
4694        164usize,
4695        concat!(
4696            "Offset of field: ",
4697            stringify!(AVCodecParameters),
4698            "::",
4699            stringify!(initial_padding)
4700        )
4701    );
4702    assert_eq!(
4703        unsafe { ::std::ptr::addr_of!((*ptr).trailing_padding) as usize - ptr as usize },
4704        168usize,
4705        concat!(
4706            "Offset of field: ",
4707            stringify!(AVCodecParameters),
4708            "::",
4709            stringify!(trailing_padding)
4710        )
4711    );
4712    assert_eq!(
4713        unsafe { ::std::ptr::addr_of!((*ptr).seek_preroll) as usize - ptr as usize },
4714        172usize,
4715        concat!(
4716            "Offset of field: ",
4717            stringify!(AVCodecParameters),
4718            "::",
4719            stringify!(seek_preroll)
4720        )
4721    );
4722}
4723extern "C" {
4724    pub fn avcodec_parameters_alloc() -> *mut AVCodecParameters;
4725}
4726extern "C" {
4727    pub fn avcodec_parameters_free(par: *mut *mut AVCodecParameters);
4728}
4729extern "C" {
4730    pub fn avcodec_parameters_copy(
4731        dst: *mut AVCodecParameters,
4732        src: *const AVCodecParameters,
4733    ) -> ::std::os::raw::c_int;
4734}
4735extern "C" {
4736    pub fn av_get_audio_frame_duration2(
4737        par: *mut AVCodecParameters,
4738        frame_bytes: ::std::os::raw::c_int,
4739    ) -> ::std::os::raw::c_int;
4740}
4741#[repr(C)]
4742#[derive(Debug, Copy, Clone)]
4743pub struct RcOverride {
4744    pub start_frame: ::std::os::raw::c_int,
4745    pub end_frame: ::std::os::raw::c_int,
4746    pub qscale: ::std::os::raw::c_int,
4747    pub quality_factor: f32,
4748}
4749#[test]
4750fn bindgen_test_layout_RcOverride() {
4751    const UNINIT: ::std::mem::MaybeUninit<RcOverride> = ::std::mem::MaybeUninit::uninit();
4752    let ptr = UNINIT.as_ptr();
4753    assert_eq!(
4754        ::std::mem::size_of::<RcOverride>(),
4755        16usize,
4756        concat!("Size of: ", stringify!(RcOverride))
4757    );
4758    assert_eq!(
4759        ::std::mem::align_of::<RcOverride>(),
4760        4usize,
4761        concat!("Alignment of ", stringify!(RcOverride))
4762    );
4763    assert_eq!(
4764        unsafe { ::std::ptr::addr_of!((*ptr).start_frame) as usize - ptr as usize },
4765        0usize,
4766        concat!(
4767            "Offset of field: ",
4768            stringify!(RcOverride),
4769            "::",
4770            stringify!(start_frame)
4771        )
4772    );
4773    assert_eq!(
4774        unsafe { ::std::ptr::addr_of!((*ptr).end_frame) as usize - ptr as usize },
4775        4usize,
4776        concat!(
4777            "Offset of field: ",
4778            stringify!(RcOverride),
4779            "::",
4780            stringify!(end_frame)
4781        )
4782    );
4783    assert_eq!(
4784        unsafe { ::std::ptr::addr_of!((*ptr).qscale) as usize - ptr as usize },
4785        8usize,
4786        concat!(
4787            "Offset of field: ",
4788            stringify!(RcOverride),
4789            "::",
4790            stringify!(qscale)
4791        )
4792    );
4793    assert_eq!(
4794        unsafe { ::std::ptr::addr_of!((*ptr).quality_factor) as usize - ptr as usize },
4795        12usize,
4796        concat!(
4797            "Offset of field: ",
4798            stringify!(RcOverride),
4799            "::",
4800            stringify!(quality_factor)
4801        )
4802    );
4803}
4804#[repr(C)]
4805#[derive(Copy, Clone)]
4806pub struct AVCodecContext {
4807    pub av_class: *const AVClass,
4808    pub log_level_offset: ::std::os::raw::c_int,
4809    pub codec_type: AVMediaType,
4810    pub codec: *const AVCodec,
4811    pub codec_id: AVCodecID,
4812    pub codec_tag: ::std::os::raw::c_uint,
4813    pub priv_data: *mut ::std::os::raw::c_void,
4814    pub internal: *mut AVCodecInternal,
4815    pub opaque: *mut ::std::os::raw::c_void,
4816    pub bit_rate: i64,
4817    pub flags: ::std::os::raw::c_int,
4818    pub flags2: ::std::os::raw::c_int,
4819    pub extradata: *mut u8,
4820    pub extradata_size: ::std::os::raw::c_int,
4821    pub time_base: AVRational,
4822    pub pkt_timebase: AVRational,
4823    pub framerate: AVRational,
4824    pub ticks_per_frame: ::std::os::raw::c_int,
4825    pub delay: ::std::os::raw::c_int,
4826    pub width: ::std::os::raw::c_int,
4827    pub height: ::std::os::raw::c_int,
4828    pub coded_width: ::std::os::raw::c_int,
4829    pub coded_height: ::std::os::raw::c_int,
4830    pub sample_aspect_ratio: AVRational,
4831    pub pix_fmt: AVPixelFormat,
4832    pub sw_pix_fmt: AVPixelFormat,
4833    pub color_primaries: AVColorPrimaries,
4834    pub color_trc: AVColorTransferCharacteristic,
4835    pub colorspace: AVColorSpace,
4836    pub color_range: AVColorRange,
4837    pub chroma_sample_location: AVChromaLocation,
4838    pub field_order: AVFieldOrder,
4839    pub refs: ::std::os::raw::c_int,
4840    pub has_b_frames: ::std::os::raw::c_int,
4841    pub slice_flags: ::std::os::raw::c_int,
4842    pub draw_horiz_band: ::std::option::Option<
4843        unsafe extern "C" fn(
4844            s: *mut AVCodecContext,
4845            src: *const AVFrame,
4846            offset: *mut ::std::os::raw::c_int,
4847            y: ::std::os::raw::c_int,
4848            type_: ::std::os::raw::c_int,
4849            height: ::std::os::raw::c_int,
4850        ),
4851    >,
4852    pub get_format: ::std::option::Option<
4853        unsafe extern "C" fn(s: *mut AVCodecContext, fmt: *const AVPixelFormat) -> AVPixelFormat,
4854    >,
4855    pub max_b_frames: ::std::os::raw::c_int,
4856    pub b_quant_factor: f32,
4857    pub b_quant_offset: f32,
4858    pub i_quant_factor: f32,
4859    pub i_quant_offset: f32,
4860    pub lumi_masking: f32,
4861    pub temporal_cplx_masking: f32,
4862    pub spatial_cplx_masking: f32,
4863    pub p_masking: f32,
4864    pub dark_masking: f32,
4865    pub nsse_weight: ::std::os::raw::c_int,
4866    pub me_cmp: ::std::os::raw::c_int,
4867    pub me_sub_cmp: ::std::os::raw::c_int,
4868    pub mb_cmp: ::std::os::raw::c_int,
4869    pub ildct_cmp: ::std::os::raw::c_int,
4870    pub dia_size: ::std::os::raw::c_int,
4871    pub last_predictor_count: ::std::os::raw::c_int,
4872    pub me_pre_cmp: ::std::os::raw::c_int,
4873    pub pre_dia_size: ::std::os::raw::c_int,
4874    pub me_subpel_quality: ::std::os::raw::c_int,
4875    pub me_range: ::std::os::raw::c_int,
4876    pub mb_decision: ::std::os::raw::c_int,
4877    pub intra_matrix: *mut u16,
4878    pub inter_matrix: *mut u16,
4879    pub chroma_intra_matrix: *mut u16,
4880    pub intra_dc_precision: ::std::os::raw::c_int,
4881    pub mb_lmin: ::std::os::raw::c_int,
4882    pub mb_lmax: ::std::os::raw::c_int,
4883    pub bidir_refine: ::std::os::raw::c_int,
4884    pub keyint_min: ::std::os::raw::c_int,
4885    pub gop_size: ::std::os::raw::c_int,
4886    pub mv0_threshold: ::std::os::raw::c_int,
4887    pub slices: ::std::os::raw::c_int,
4888    pub sample_rate: ::std::os::raw::c_int,
4889    pub sample_fmt: AVSampleFormat,
4890    pub ch_layout: AVChannelLayout,
4891    pub frame_size: ::std::os::raw::c_int,
4892    pub block_align: ::std::os::raw::c_int,
4893    pub cutoff: ::std::os::raw::c_int,
4894    pub audio_service_type: AVAudioServiceType,
4895    pub request_sample_fmt: AVSampleFormat,
4896    pub initial_padding: ::std::os::raw::c_int,
4897    pub trailing_padding: ::std::os::raw::c_int,
4898    pub seek_preroll: ::std::os::raw::c_int,
4899    pub get_buffer2: ::std::option::Option<
4900        unsafe extern "C" fn(
4901            s: *mut AVCodecContext,
4902            frame: *mut AVFrame,
4903            flags: ::std::os::raw::c_int,
4904        ) -> ::std::os::raw::c_int,
4905    >,
4906    pub bit_rate_tolerance: ::std::os::raw::c_int,
4907    pub global_quality: ::std::os::raw::c_int,
4908    pub compression_level: ::std::os::raw::c_int,
4909    pub qcompress: f32,
4910    pub qblur: f32,
4911    pub qmin: ::std::os::raw::c_int,
4912    pub qmax: ::std::os::raw::c_int,
4913    pub max_qdiff: ::std::os::raw::c_int,
4914    pub rc_buffer_size: ::std::os::raw::c_int,
4915    pub rc_override_count: ::std::os::raw::c_int,
4916    pub rc_override: *mut RcOverride,
4917    pub rc_max_rate: i64,
4918    pub rc_min_rate: i64,
4919    pub rc_max_available_vbv_use: f32,
4920    pub rc_min_vbv_overflow_use: f32,
4921    pub rc_initial_buffer_occupancy: ::std::os::raw::c_int,
4922    pub trellis: ::std::os::raw::c_int,
4923    pub stats_out: *mut ::std::os::raw::c_char,
4924    pub stats_in: *mut ::std::os::raw::c_char,
4925    pub workaround_bugs: ::std::os::raw::c_int,
4926    pub strict_std_compliance: ::std::os::raw::c_int,
4927    pub error_concealment: ::std::os::raw::c_int,
4928    pub debug: ::std::os::raw::c_int,
4929    pub err_recognition: ::std::os::raw::c_int,
4930    pub hwaccel: *const AVHWAccel,
4931    pub hwaccel_context: *mut ::std::os::raw::c_void,
4932    pub hw_frames_ctx: *mut AVBufferRef,
4933    pub hw_device_ctx: *mut AVBufferRef,
4934    pub hwaccel_flags: ::std::os::raw::c_int,
4935    pub extra_hw_frames: ::std::os::raw::c_int,
4936    pub error: [u64; 8usize],
4937    pub dct_algo: ::std::os::raw::c_int,
4938    pub idct_algo: ::std::os::raw::c_int,
4939    pub bits_per_coded_sample: ::std::os::raw::c_int,
4940    pub bits_per_raw_sample: ::std::os::raw::c_int,
4941    pub thread_count: ::std::os::raw::c_int,
4942    pub thread_type: ::std::os::raw::c_int,
4943    pub active_thread_type: ::std::os::raw::c_int,
4944    pub execute: ::std::option::Option<
4945        unsafe extern "C" fn(
4946            c: *mut AVCodecContext,
4947            func: ::std::option::Option<
4948                unsafe extern "C" fn(
4949                    c2: *mut AVCodecContext,
4950                    arg: *mut ::std::os::raw::c_void,
4951                ) -> ::std::os::raw::c_int,
4952            >,
4953            arg2: *mut ::std::os::raw::c_void,
4954            ret: *mut ::std::os::raw::c_int,
4955            count: ::std::os::raw::c_int,
4956            size: ::std::os::raw::c_int,
4957        ) -> ::std::os::raw::c_int,
4958    >,
4959    pub execute2: ::std::option::Option<
4960        unsafe extern "C" fn(
4961            c: *mut AVCodecContext,
4962            func: ::std::option::Option<
4963                unsafe extern "C" fn(
4964                    c2: *mut AVCodecContext,
4965                    arg: *mut ::std::os::raw::c_void,
4966                    jobnr: ::std::os::raw::c_int,
4967                    threadnr: ::std::os::raw::c_int,
4968                ) -> ::std::os::raw::c_int,
4969            >,
4970            arg2: *mut ::std::os::raw::c_void,
4971            ret: *mut ::std::os::raw::c_int,
4972            count: ::std::os::raw::c_int,
4973        ) -> ::std::os::raw::c_int,
4974    >,
4975    pub profile: ::std::os::raw::c_int,
4976    pub level: ::std::os::raw::c_int,
4977    pub properties: ::std::os::raw::c_uint,
4978    pub skip_loop_filter: AVDiscard,
4979    pub skip_idct: AVDiscard,
4980    pub skip_frame: AVDiscard,
4981    pub skip_alpha: ::std::os::raw::c_int,
4982    pub skip_top: ::std::os::raw::c_int,
4983    pub skip_bottom: ::std::os::raw::c_int,
4984    pub lowres: ::std::os::raw::c_int,
4985    pub codec_descriptor: *const AVCodecDescriptor,
4986    pub sub_charenc: *mut ::std::os::raw::c_char,
4987    pub sub_charenc_mode: ::std::os::raw::c_int,
4988    pub subtitle_header_size: ::std::os::raw::c_int,
4989    pub subtitle_header: *mut u8,
4990    pub dump_separator: *mut u8,
4991    pub codec_whitelist: *mut ::std::os::raw::c_char,
4992    pub coded_side_data: *mut AVPacketSideData,
4993    pub nb_coded_side_data: ::std::os::raw::c_int,
4994    pub export_side_data: ::std::os::raw::c_int,
4995    pub max_pixels: i64,
4996    pub apply_cropping: ::std::os::raw::c_int,
4997    pub discard_damaged_percentage: ::std::os::raw::c_int,
4998    pub max_samples: i64,
4999    pub get_encode_buffer: ::std::option::Option<
5000        unsafe extern "C" fn(
5001            s: *mut AVCodecContext,
5002            pkt: *mut AVPacket,
5003            flags: ::std::os::raw::c_int,
5004        ) -> ::std::os::raw::c_int,
5005    >,
5006    pub frame_num: i64,
5007    pub side_data_prefer_packet: *mut ::std::os::raw::c_int,
5008    pub nb_side_data_prefer_packet: ::std::os::raw::c_uint,
5009    pub decoded_side_data: *mut *mut AVFrameSideData,
5010    pub nb_decoded_side_data: ::std::os::raw::c_int,
5011}
5012#[test]
5013fn bindgen_test_layout_AVCodecContext() {
5014    const UNINIT: ::std::mem::MaybeUninit<AVCodecContext> = ::std::mem::MaybeUninit::uninit();
5015    let ptr = UNINIT.as_ptr();
5016    assert_eq!(
5017        ::std::mem::size_of::<AVCodecContext>(),
5018        864usize,
5019        concat!("Size of: ", stringify!(AVCodecContext))
5020    );
5021    assert_eq!(
5022        ::std::mem::align_of::<AVCodecContext>(),
5023        8usize,
5024        concat!("Alignment of ", stringify!(AVCodecContext))
5025    );
5026    assert_eq!(
5027        unsafe { ::std::ptr::addr_of!((*ptr).av_class) as usize - ptr as usize },
5028        0usize,
5029        concat!(
5030            "Offset of field: ",
5031            stringify!(AVCodecContext),
5032            "::",
5033            stringify!(av_class)
5034        )
5035    );
5036    assert_eq!(
5037        unsafe { ::std::ptr::addr_of!((*ptr).log_level_offset) as usize - ptr as usize },
5038        8usize,
5039        concat!(
5040            "Offset of field: ",
5041            stringify!(AVCodecContext),
5042            "::",
5043            stringify!(log_level_offset)
5044        )
5045    );
5046    assert_eq!(
5047        unsafe { ::std::ptr::addr_of!((*ptr).codec_type) as usize - ptr as usize },
5048        12usize,
5049        concat!(
5050            "Offset of field: ",
5051            stringify!(AVCodecContext),
5052            "::",
5053            stringify!(codec_type)
5054        )
5055    );
5056    assert_eq!(
5057        unsafe { ::std::ptr::addr_of!((*ptr).codec) as usize - ptr as usize },
5058        16usize,
5059        concat!(
5060            "Offset of field: ",
5061            stringify!(AVCodecContext),
5062            "::",
5063            stringify!(codec)
5064        )
5065    );
5066    assert_eq!(
5067        unsafe { ::std::ptr::addr_of!((*ptr).codec_id) as usize - ptr as usize },
5068        24usize,
5069        concat!(
5070            "Offset of field: ",
5071            stringify!(AVCodecContext),
5072            "::",
5073            stringify!(codec_id)
5074        )
5075    );
5076    assert_eq!(
5077        unsafe { ::std::ptr::addr_of!((*ptr).codec_tag) as usize - ptr as usize },
5078        28usize,
5079        concat!(
5080            "Offset of field: ",
5081            stringify!(AVCodecContext),
5082            "::",
5083            stringify!(codec_tag)
5084        )
5085    );
5086    assert_eq!(
5087        unsafe { ::std::ptr::addr_of!((*ptr).priv_data) as usize - ptr as usize },
5088        32usize,
5089        concat!(
5090            "Offset of field: ",
5091            stringify!(AVCodecContext),
5092            "::",
5093            stringify!(priv_data)
5094        )
5095    );
5096    assert_eq!(
5097        unsafe { ::std::ptr::addr_of!((*ptr).internal) as usize - ptr as usize },
5098        40usize,
5099        concat!(
5100            "Offset of field: ",
5101            stringify!(AVCodecContext),
5102            "::",
5103            stringify!(internal)
5104        )
5105    );
5106    assert_eq!(
5107        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
5108        48usize,
5109        concat!(
5110            "Offset of field: ",
5111            stringify!(AVCodecContext),
5112            "::",
5113            stringify!(opaque)
5114        )
5115    );
5116    assert_eq!(
5117        unsafe { ::std::ptr::addr_of!((*ptr).bit_rate) as usize - ptr as usize },
5118        56usize,
5119        concat!(
5120            "Offset of field: ",
5121            stringify!(AVCodecContext),
5122            "::",
5123            stringify!(bit_rate)
5124        )
5125    );
5126    assert_eq!(
5127        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
5128        64usize,
5129        concat!(
5130            "Offset of field: ",
5131            stringify!(AVCodecContext),
5132            "::",
5133            stringify!(flags)
5134        )
5135    );
5136    assert_eq!(
5137        unsafe { ::std::ptr::addr_of!((*ptr).flags2) as usize - ptr as usize },
5138        68usize,
5139        concat!(
5140            "Offset of field: ",
5141            stringify!(AVCodecContext),
5142            "::",
5143            stringify!(flags2)
5144        )
5145    );
5146    assert_eq!(
5147        unsafe { ::std::ptr::addr_of!((*ptr).extradata) as usize - ptr as usize },
5148        72usize,
5149        concat!(
5150            "Offset of field: ",
5151            stringify!(AVCodecContext),
5152            "::",
5153            stringify!(extradata)
5154        )
5155    );
5156    assert_eq!(
5157        unsafe { ::std::ptr::addr_of!((*ptr).extradata_size) as usize - ptr as usize },
5158        80usize,
5159        concat!(
5160            "Offset of field: ",
5161            stringify!(AVCodecContext),
5162            "::",
5163            stringify!(extradata_size)
5164        )
5165    );
5166    assert_eq!(
5167        unsafe { ::std::ptr::addr_of!((*ptr).time_base) as usize - ptr as usize },
5168        84usize,
5169        concat!(
5170            "Offset of field: ",
5171            stringify!(AVCodecContext),
5172            "::",
5173            stringify!(time_base)
5174        )
5175    );
5176    assert_eq!(
5177        unsafe { ::std::ptr::addr_of!((*ptr).pkt_timebase) as usize - ptr as usize },
5178        92usize,
5179        concat!(
5180            "Offset of field: ",
5181            stringify!(AVCodecContext),
5182            "::",
5183            stringify!(pkt_timebase)
5184        )
5185    );
5186    assert_eq!(
5187        unsafe { ::std::ptr::addr_of!((*ptr).framerate) as usize - ptr as usize },
5188        100usize,
5189        concat!(
5190            "Offset of field: ",
5191            stringify!(AVCodecContext),
5192            "::",
5193            stringify!(framerate)
5194        )
5195    );
5196    assert_eq!(
5197        unsafe { ::std::ptr::addr_of!((*ptr).ticks_per_frame) as usize - ptr as usize },
5198        108usize,
5199        concat!(
5200            "Offset of field: ",
5201            stringify!(AVCodecContext),
5202            "::",
5203            stringify!(ticks_per_frame)
5204        )
5205    );
5206    assert_eq!(
5207        unsafe { ::std::ptr::addr_of!((*ptr).delay) as usize - ptr as usize },
5208        112usize,
5209        concat!(
5210            "Offset of field: ",
5211            stringify!(AVCodecContext),
5212            "::",
5213            stringify!(delay)
5214        )
5215    );
5216    assert_eq!(
5217        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
5218        116usize,
5219        concat!(
5220            "Offset of field: ",
5221            stringify!(AVCodecContext),
5222            "::",
5223            stringify!(width)
5224        )
5225    );
5226    assert_eq!(
5227        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
5228        120usize,
5229        concat!(
5230            "Offset of field: ",
5231            stringify!(AVCodecContext),
5232            "::",
5233            stringify!(height)
5234        )
5235    );
5236    assert_eq!(
5237        unsafe { ::std::ptr::addr_of!((*ptr).coded_width) as usize - ptr as usize },
5238        124usize,
5239        concat!(
5240            "Offset of field: ",
5241            stringify!(AVCodecContext),
5242            "::",
5243            stringify!(coded_width)
5244        )
5245    );
5246    assert_eq!(
5247        unsafe { ::std::ptr::addr_of!((*ptr).coded_height) as usize - ptr as usize },
5248        128usize,
5249        concat!(
5250            "Offset of field: ",
5251            stringify!(AVCodecContext),
5252            "::",
5253            stringify!(coded_height)
5254        )
5255    );
5256    assert_eq!(
5257        unsafe { ::std::ptr::addr_of!((*ptr).sample_aspect_ratio) as usize - ptr as usize },
5258        132usize,
5259        concat!(
5260            "Offset of field: ",
5261            stringify!(AVCodecContext),
5262            "::",
5263            stringify!(sample_aspect_ratio)
5264        )
5265    );
5266    assert_eq!(
5267        unsafe { ::std::ptr::addr_of!((*ptr).pix_fmt) as usize - ptr as usize },
5268        140usize,
5269        concat!(
5270            "Offset of field: ",
5271            stringify!(AVCodecContext),
5272            "::",
5273            stringify!(pix_fmt)
5274        )
5275    );
5276    assert_eq!(
5277        unsafe { ::std::ptr::addr_of!((*ptr).sw_pix_fmt) as usize - ptr as usize },
5278        144usize,
5279        concat!(
5280            "Offset of field: ",
5281            stringify!(AVCodecContext),
5282            "::",
5283            stringify!(sw_pix_fmt)
5284        )
5285    );
5286    assert_eq!(
5287        unsafe { ::std::ptr::addr_of!((*ptr).color_primaries) as usize - ptr as usize },
5288        148usize,
5289        concat!(
5290            "Offset of field: ",
5291            stringify!(AVCodecContext),
5292            "::",
5293            stringify!(color_primaries)
5294        )
5295    );
5296    assert_eq!(
5297        unsafe { ::std::ptr::addr_of!((*ptr).color_trc) as usize - ptr as usize },
5298        152usize,
5299        concat!(
5300            "Offset of field: ",
5301            stringify!(AVCodecContext),
5302            "::",
5303            stringify!(color_trc)
5304        )
5305    );
5306    assert_eq!(
5307        unsafe { ::std::ptr::addr_of!((*ptr).colorspace) as usize - ptr as usize },
5308        156usize,
5309        concat!(
5310            "Offset of field: ",
5311            stringify!(AVCodecContext),
5312            "::",
5313            stringify!(colorspace)
5314        )
5315    );
5316    assert_eq!(
5317        unsafe { ::std::ptr::addr_of!((*ptr).color_range) as usize - ptr as usize },
5318        160usize,
5319        concat!(
5320            "Offset of field: ",
5321            stringify!(AVCodecContext),
5322            "::",
5323            stringify!(color_range)
5324        )
5325    );
5326    assert_eq!(
5327        unsafe { ::std::ptr::addr_of!((*ptr).chroma_sample_location) as usize - ptr as usize },
5328        164usize,
5329        concat!(
5330            "Offset of field: ",
5331            stringify!(AVCodecContext),
5332            "::",
5333            stringify!(chroma_sample_location)
5334        )
5335    );
5336    assert_eq!(
5337        unsafe { ::std::ptr::addr_of!((*ptr).field_order) as usize - ptr as usize },
5338        168usize,
5339        concat!(
5340            "Offset of field: ",
5341            stringify!(AVCodecContext),
5342            "::",
5343            stringify!(field_order)
5344        )
5345    );
5346    assert_eq!(
5347        unsafe { ::std::ptr::addr_of!((*ptr).refs) as usize - ptr as usize },
5348        172usize,
5349        concat!(
5350            "Offset of field: ",
5351            stringify!(AVCodecContext),
5352            "::",
5353            stringify!(refs)
5354        )
5355    );
5356    assert_eq!(
5357        unsafe { ::std::ptr::addr_of!((*ptr).has_b_frames) as usize - ptr as usize },
5358        176usize,
5359        concat!(
5360            "Offset of field: ",
5361            stringify!(AVCodecContext),
5362            "::",
5363            stringify!(has_b_frames)
5364        )
5365    );
5366    assert_eq!(
5367        unsafe { ::std::ptr::addr_of!((*ptr).slice_flags) as usize - ptr as usize },
5368        180usize,
5369        concat!(
5370            "Offset of field: ",
5371            stringify!(AVCodecContext),
5372            "::",
5373            stringify!(slice_flags)
5374        )
5375    );
5376    assert_eq!(
5377        unsafe { ::std::ptr::addr_of!((*ptr).draw_horiz_band) as usize - ptr as usize },
5378        184usize,
5379        concat!(
5380            "Offset of field: ",
5381            stringify!(AVCodecContext),
5382            "::",
5383            stringify!(draw_horiz_band)
5384        )
5385    );
5386    assert_eq!(
5387        unsafe { ::std::ptr::addr_of!((*ptr).get_format) as usize - ptr as usize },
5388        192usize,
5389        concat!(
5390            "Offset of field: ",
5391            stringify!(AVCodecContext),
5392            "::",
5393            stringify!(get_format)
5394        )
5395    );
5396    assert_eq!(
5397        unsafe { ::std::ptr::addr_of!((*ptr).max_b_frames) as usize - ptr as usize },
5398        200usize,
5399        concat!(
5400            "Offset of field: ",
5401            stringify!(AVCodecContext),
5402            "::",
5403            stringify!(max_b_frames)
5404        )
5405    );
5406    assert_eq!(
5407        unsafe { ::std::ptr::addr_of!((*ptr).b_quant_factor) as usize - ptr as usize },
5408        204usize,
5409        concat!(
5410            "Offset of field: ",
5411            stringify!(AVCodecContext),
5412            "::",
5413            stringify!(b_quant_factor)
5414        )
5415    );
5416    assert_eq!(
5417        unsafe { ::std::ptr::addr_of!((*ptr).b_quant_offset) as usize - ptr as usize },
5418        208usize,
5419        concat!(
5420            "Offset of field: ",
5421            stringify!(AVCodecContext),
5422            "::",
5423            stringify!(b_quant_offset)
5424        )
5425    );
5426    assert_eq!(
5427        unsafe { ::std::ptr::addr_of!((*ptr).i_quant_factor) as usize - ptr as usize },
5428        212usize,
5429        concat!(
5430            "Offset of field: ",
5431            stringify!(AVCodecContext),
5432            "::",
5433            stringify!(i_quant_factor)
5434        )
5435    );
5436    assert_eq!(
5437        unsafe { ::std::ptr::addr_of!((*ptr).i_quant_offset) as usize - ptr as usize },
5438        216usize,
5439        concat!(
5440            "Offset of field: ",
5441            stringify!(AVCodecContext),
5442            "::",
5443            stringify!(i_quant_offset)
5444        )
5445    );
5446    assert_eq!(
5447        unsafe { ::std::ptr::addr_of!((*ptr).lumi_masking) as usize - ptr as usize },
5448        220usize,
5449        concat!(
5450            "Offset of field: ",
5451            stringify!(AVCodecContext),
5452            "::",
5453            stringify!(lumi_masking)
5454        )
5455    );
5456    assert_eq!(
5457        unsafe { ::std::ptr::addr_of!((*ptr).temporal_cplx_masking) as usize - ptr as usize },
5458        224usize,
5459        concat!(
5460            "Offset of field: ",
5461            stringify!(AVCodecContext),
5462            "::",
5463            stringify!(temporal_cplx_masking)
5464        )
5465    );
5466    assert_eq!(
5467        unsafe { ::std::ptr::addr_of!((*ptr).spatial_cplx_masking) as usize - ptr as usize },
5468        228usize,
5469        concat!(
5470            "Offset of field: ",
5471            stringify!(AVCodecContext),
5472            "::",
5473            stringify!(spatial_cplx_masking)
5474        )
5475    );
5476    assert_eq!(
5477        unsafe { ::std::ptr::addr_of!((*ptr).p_masking) as usize - ptr as usize },
5478        232usize,
5479        concat!(
5480            "Offset of field: ",
5481            stringify!(AVCodecContext),
5482            "::",
5483            stringify!(p_masking)
5484        )
5485    );
5486    assert_eq!(
5487        unsafe { ::std::ptr::addr_of!((*ptr).dark_masking) as usize - ptr as usize },
5488        236usize,
5489        concat!(
5490            "Offset of field: ",
5491            stringify!(AVCodecContext),
5492            "::",
5493            stringify!(dark_masking)
5494        )
5495    );
5496    assert_eq!(
5497        unsafe { ::std::ptr::addr_of!((*ptr).nsse_weight) as usize - ptr as usize },
5498        240usize,
5499        concat!(
5500            "Offset of field: ",
5501            stringify!(AVCodecContext),
5502            "::",
5503            stringify!(nsse_weight)
5504        )
5505    );
5506    assert_eq!(
5507        unsafe { ::std::ptr::addr_of!((*ptr).me_cmp) as usize - ptr as usize },
5508        244usize,
5509        concat!(
5510            "Offset of field: ",
5511            stringify!(AVCodecContext),
5512            "::",
5513            stringify!(me_cmp)
5514        )
5515    );
5516    assert_eq!(
5517        unsafe { ::std::ptr::addr_of!((*ptr).me_sub_cmp) as usize - ptr as usize },
5518        248usize,
5519        concat!(
5520            "Offset of field: ",
5521            stringify!(AVCodecContext),
5522            "::",
5523            stringify!(me_sub_cmp)
5524        )
5525    );
5526    assert_eq!(
5527        unsafe { ::std::ptr::addr_of!((*ptr).mb_cmp) as usize - ptr as usize },
5528        252usize,
5529        concat!(
5530            "Offset of field: ",
5531            stringify!(AVCodecContext),
5532            "::",
5533            stringify!(mb_cmp)
5534        )
5535    );
5536    assert_eq!(
5537        unsafe { ::std::ptr::addr_of!((*ptr).ildct_cmp) as usize - ptr as usize },
5538        256usize,
5539        concat!(
5540            "Offset of field: ",
5541            stringify!(AVCodecContext),
5542            "::",
5543            stringify!(ildct_cmp)
5544        )
5545    );
5546    assert_eq!(
5547        unsafe { ::std::ptr::addr_of!((*ptr).dia_size) as usize - ptr as usize },
5548        260usize,
5549        concat!(
5550            "Offset of field: ",
5551            stringify!(AVCodecContext),
5552            "::",
5553            stringify!(dia_size)
5554        )
5555    );
5556    assert_eq!(
5557        unsafe { ::std::ptr::addr_of!((*ptr).last_predictor_count) as usize - ptr as usize },
5558        264usize,
5559        concat!(
5560            "Offset of field: ",
5561            stringify!(AVCodecContext),
5562            "::",
5563            stringify!(last_predictor_count)
5564        )
5565    );
5566    assert_eq!(
5567        unsafe { ::std::ptr::addr_of!((*ptr).me_pre_cmp) as usize - ptr as usize },
5568        268usize,
5569        concat!(
5570            "Offset of field: ",
5571            stringify!(AVCodecContext),
5572            "::",
5573            stringify!(me_pre_cmp)
5574        )
5575    );
5576    assert_eq!(
5577        unsafe { ::std::ptr::addr_of!((*ptr).pre_dia_size) as usize - ptr as usize },
5578        272usize,
5579        concat!(
5580            "Offset of field: ",
5581            stringify!(AVCodecContext),
5582            "::",
5583            stringify!(pre_dia_size)
5584        )
5585    );
5586    assert_eq!(
5587        unsafe { ::std::ptr::addr_of!((*ptr).me_subpel_quality) as usize - ptr as usize },
5588        276usize,
5589        concat!(
5590            "Offset of field: ",
5591            stringify!(AVCodecContext),
5592            "::",
5593            stringify!(me_subpel_quality)
5594        )
5595    );
5596    assert_eq!(
5597        unsafe { ::std::ptr::addr_of!((*ptr).me_range) as usize - ptr as usize },
5598        280usize,
5599        concat!(
5600            "Offset of field: ",
5601            stringify!(AVCodecContext),
5602            "::",
5603            stringify!(me_range)
5604        )
5605    );
5606    assert_eq!(
5607        unsafe { ::std::ptr::addr_of!((*ptr).mb_decision) as usize - ptr as usize },
5608        284usize,
5609        concat!(
5610            "Offset of field: ",
5611            stringify!(AVCodecContext),
5612            "::",
5613            stringify!(mb_decision)
5614        )
5615    );
5616    assert_eq!(
5617        unsafe { ::std::ptr::addr_of!((*ptr).intra_matrix) as usize - ptr as usize },
5618        288usize,
5619        concat!(
5620            "Offset of field: ",
5621            stringify!(AVCodecContext),
5622            "::",
5623            stringify!(intra_matrix)
5624        )
5625    );
5626    assert_eq!(
5627        unsafe { ::std::ptr::addr_of!((*ptr).inter_matrix) as usize - ptr as usize },
5628        296usize,
5629        concat!(
5630            "Offset of field: ",
5631            stringify!(AVCodecContext),
5632            "::",
5633            stringify!(inter_matrix)
5634        )
5635    );
5636    assert_eq!(
5637        unsafe { ::std::ptr::addr_of!((*ptr).chroma_intra_matrix) as usize - ptr as usize },
5638        304usize,
5639        concat!(
5640            "Offset of field: ",
5641            stringify!(AVCodecContext),
5642            "::",
5643            stringify!(chroma_intra_matrix)
5644        )
5645    );
5646    assert_eq!(
5647        unsafe { ::std::ptr::addr_of!((*ptr).intra_dc_precision) as usize - ptr as usize },
5648        312usize,
5649        concat!(
5650            "Offset of field: ",
5651            stringify!(AVCodecContext),
5652            "::",
5653            stringify!(intra_dc_precision)
5654        )
5655    );
5656    assert_eq!(
5657        unsafe { ::std::ptr::addr_of!((*ptr).mb_lmin) as usize - ptr as usize },
5658        316usize,
5659        concat!(
5660            "Offset of field: ",
5661            stringify!(AVCodecContext),
5662            "::",
5663            stringify!(mb_lmin)
5664        )
5665    );
5666    assert_eq!(
5667        unsafe { ::std::ptr::addr_of!((*ptr).mb_lmax) as usize - ptr as usize },
5668        320usize,
5669        concat!(
5670            "Offset of field: ",
5671            stringify!(AVCodecContext),
5672            "::",
5673            stringify!(mb_lmax)
5674        )
5675    );
5676    assert_eq!(
5677        unsafe { ::std::ptr::addr_of!((*ptr).bidir_refine) as usize - ptr as usize },
5678        324usize,
5679        concat!(
5680            "Offset of field: ",
5681            stringify!(AVCodecContext),
5682            "::",
5683            stringify!(bidir_refine)
5684        )
5685    );
5686    assert_eq!(
5687        unsafe { ::std::ptr::addr_of!((*ptr).keyint_min) as usize - ptr as usize },
5688        328usize,
5689        concat!(
5690            "Offset of field: ",
5691            stringify!(AVCodecContext),
5692            "::",
5693            stringify!(keyint_min)
5694        )
5695    );
5696    assert_eq!(
5697        unsafe { ::std::ptr::addr_of!((*ptr).gop_size) as usize - ptr as usize },
5698        332usize,
5699        concat!(
5700            "Offset of field: ",
5701            stringify!(AVCodecContext),
5702            "::",
5703            stringify!(gop_size)
5704        )
5705    );
5706    assert_eq!(
5707        unsafe { ::std::ptr::addr_of!((*ptr).mv0_threshold) as usize - ptr as usize },
5708        336usize,
5709        concat!(
5710            "Offset of field: ",
5711            stringify!(AVCodecContext),
5712            "::",
5713            stringify!(mv0_threshold)
5714        )
5715    );
5716    assert_eq!(
5717        unsafe { ::std::ptr::addr_of!((*ptr).slices) as usize - ptr as usize },
5718        340usize,
5719        concat!(
5720            "Offset of field: ",
5721            stringify!(AVCodecContext),
5722            "::",
5723            stringify!(slices)
5724        )
5725    );
5726    assert_eq!(
5727        unsafe { ::std::ptr::addr_of!((*ptr).sample_rate) as usize - ptr as usize },
5728        344usize,
5729        concat!(
5730            "Offset of field: ",
5731            stringify!(AVCodecContext),
5732            "::",
5733            stringify!(sample_rate)
5734        )
5735    );
5736    assert_eq!(
5737        unsafe { ::std::ptr::addr_of!((*ptr).sample_fmt) as usize - ptr as usize },
5738        348usize,
5739        concat!(
5740            "Offset of field: ",
5741            stringify!(AVCodecContext),
5742            "::",
5743            stringify!(sample_fmt)
5744        )
5745    );
5746    assert_eq!(
5747        unsafe { ::std::ptr::addr_of!((*ptr).ch_layout) as usize - ptr as usize },
5748        352usize,
5749        concat!(
5750            "Offset of field: ",
5751            stringify!(AVCodecContext),
5752            "::",
5753            stringify!(ch_layout)
5754        )
5755    );
5756    assert_eq!(
5757        unsafe { ::std::ptr::addr_of!((*ptr).frame_size) as usize - ptr as usize },
5758        376usize,
5759        concat!(
5760            "Offset of field: ",
5761            stringify!(AVCodecContext),
5762            "::",
5763            stringify!(frame_size)
5764        )
5765    );
5766    assert_eq!(
5767        unsafe { ::std::ptr::addr_of!((*ptr).block_align) as usize - ptr as usize },
5768        380usize,
5769        concat!(
5770            "Offset of field: ",
5771            stringify!(AVCodecContext),
5772            "::",
5773            stringify!(block_align)
5774        )
5775    );
5776    assert_eq!(
5777        unsafe { ::std::ptr::addr_of!((*ptr).cutoff) as usize - ptr as usize },
5778        384usize,
5779        concat!(
5780            "Offset of field: ",
5781            stringify!(AVCodecContext),
5782            "::",
5783            stringify!(cutoff)
5784        )
5785    );
5786    assert_eq!(
5787        unsafe { ::std::ptr::addr_of!((*ptr).audio_service_type) as usize - ptr as usize },
5788        388usize,
5789        concat!(
5790            "Offset of field: ",
5791            stringify!(AVCodecContext),
5792            "::",
5793            stringify!(audio_service_type)
5794        )
5795    );
5796    assert_eq!(
5797        unsafe { ::std::ptr::addr_of!((*ptr).request_sample_fmt) as usize - ptr as usize },
5798        392usize,
5799        concat!(
5800            "Offset of field: ",
5801            stringify!(AVCodecContext),
5802            "::",
5803            stringify!(request_sample_fmt)
5804        )
5805    );
5806    assert_eq!(
5807        unsafe { ::std::ptr::addr_of!((*ptr).initial_padding) as usize - ptr as usize },
5808        396usize,
5809        concat!(
5810            "Offset of field: ",
5811            stringify!(AVCodecContext),
5812            "::",
5813            stringify!(initial_padding)
5814        )
5815    );
5816    assert_eq!(
5817        unsafe { ::std::ptr::addr_of!((*ptr).trailing_padding) as usize - ptr as usize },
5818        400usize,
5819        concat!(
5820            "Offset of field: ",
5821            stringify!(AVCodecContext),
5822            "::",
5823            stringify!(trailing_padding)
5824        )
5825    );
5826    assert_eq!(
5827        unsafe { ::std::ptr::addr_of!((*ptr).seek_preroll) as usize - ptr as usize },
5828        404usize,
5829        concat!(
5830            "Offset of field: ",
5831            stringify!(AVCodecContext),
5832            "::",
5833            stringify!(seek_preroll)
5834        )
5835    );
5836    assert_eq!(
5837        unsafe { ::std::ptr::addr_of!((*ptr).get_buffer2) as usize - ptr as usize },
5838        408usize,
5839        concat!(
5840            "Offset of field: ",
5841            stringify!(AVCodecContext),
5842            "::",
5843            stringify!(get_buffer2)
5844        )
5845    );
5846    assert_eq!(
5847        unsafe { ::std::ptr::addr_of!((*ptr).bit_rate_tolerance) as usize - ptr as usize },
5848        416usize,
5849        concat!(
5850            "Offset of field: ",
5851            stringify!(AVCodecContext),
5852            "::",
5853            stringify!(bit_rate_tolerance)
5854        )
5855    );
5856    assert_eq!(
5857        unsafe { ::std::ptr::addr_of!((*ptr).global_quality) as usize - ptr as usize },
5858        420usize,
5859        concat!(
5860            "Offset of field: ",
5861            stringify!(AVCodecContext),
5862            "::",
5863            stringify!(global_quality)
5864        )
5865    );
5866    assert_eq!(
5867        unsafe { ::std::ptr::addr_of!((*ptr).compression_level) as usize - ptr as usize },
5868        424usize,
5869        concat!(
5870            "Offset of field: ",
5871            stringify!(AVCodecContext),
5872            "::",
5873            stringify!(compression_level)
5874        )
5875    );
5876    assert_eq!(
5877        unsafe { ::std::ptr::addr_of!((*ptr).qcompress) as usize - ptr as usize },
5878        428usize,
5879        concat!(
5880            "Offset of field: ",
5881            stringify!(AVCodecContext),
5882            "::",
5883            stringify!(qcompress)
5884        )
5885    );
5886    assert_eq!(
5887        unsafe { ::std::ptr::addr_of!((*ptr).qblur) as usize - ptr as usize },
5888        432usize,
5889        concat!(
5890            "Offset of field: ",
5891            stringify!(AVCodecContext),
5892            "::",
5893            stringify!(qblur)
5894        )
5895    );
5896    assert_eq!(
5897        unsafe { ::std::ptr::addr_of!((*ptr).qmin) as usize - ptr as usize },
5898        436usize,
5899        concat!(
5900            "Offset of field: ",
5901            stringify!(AVCodecContext),
5902            "::",
5903            stringify!(qmin)
5904        )
5905    );
5906    assert_eq!(
5907        unsafe { ::std::ptr::addr_of!((*ptr).qmax) as usize - ptr as usize },
5908        440usize,
5909        concat!(
5910            "Offset of field: ",
5911            stringify!(AVCodecContext),
5912            "::",
5913            stringify!(qmax)
5914        )
5915    );
5916    assert_eq!(
5917        unsafe { ::std::ptr::addr_of!((*ptr).max_qdiff) as usize - ptr as usize },
5918        444usize,
5919        concat!(
5920            "Offset of field: ",
5921            stringify!(AVCodecContext),
5922            "::",
5923            stringify!(max_qdiff)
5924        )
5925    );
5926    assert_eq!(
5927        unsafe { ::std::ptr::addr_of!((*ptr).rc_buffer_size) as usize - ptr as usize },
5928        448usize,
5929        concat!(
5930            "Offset of field: ",
5931            stringify!(AVCodecContext),
5932            "::",
5933            stringify!(rc_buffer_size)
5934        )
5935    );
5936    assert_eq!(
5937        unsafe { ::std::ptr::addr_of!((*ptr).rc_override_count) as usize - ptr as usize },
5938        452usize,
5939        concat!(
5940            "Offset of field: ",
5941            stringify!(AVCodecContext),
5942            "::",
5943            stringify!(rc_override_count)
5944        )
5945    );
5946    assert_eq!(
5947        unsafe { ::std::ptr::addr_of!((*ptr).rc_override) as usize - ptr as usize },
5948        456usize,
5949        concat!(
5950            "Offset of field: ",
5951            stringify!(AVCodecContext),
5952            "::",
5953            stringify!(rc_override)
5954        )
5955    );
5956    assert_eq!(
5957        unsafe { ::std::ptr::addr_of!((*ptr).rc_max_rate) as usize - ptr as usize },
5958        464usize,
5959        concat!(
5960            "Offset of field: ",
5961            stringify!(AVCodecContext),
5962            "::",
5963            stringify!(rc_max_rate)
5964        )
5965    );
5966    assert_eq!(
5967        unsafe { ::std::ptr::addr_of!((*ptr).rc_min_rate) as usize - ptr as usize },
5968        472usize,
5969        concat!(
5970            "Offset of field: ",
5971            stringify!(AVCodecContext),
5972            "::",
5973            stringify!(rc_min_rate)
5974        )
5975    );
5976    assert_eq!(
5977        unsafe { ::std::ptr::addr_of!((*ptr).rc_max_available_vbv_use) as usize - ptr as usize },
5978        480usize,
5979        concat!(
5980            "Offset of field: ",
5981            stringify!(AVCodecContext),
5982            "::",
5983            stringify!(rc_max_available_vbv_use)
5984        )
5985    );
5986    assert_eq!(
5987        unsafe { ::std::ptr::addr_of!((*ptr).rc_min_vbv_overflow_use) as usize - ptr as usize },
5988        484usize,
5989        concat!(
5990            "Offset of field: ",
5991            stringify!(AVCodecContext),
5992            "::",
5993            stringify!(rc_min_vbv_overflow_use)
5994        )
5995    );
5996    assert_eq!(
5997        unsafe { ::std::ptr::addr_of!((*ptr).rc_initial_buffer_occupancy) as usize - ptr as usize },
5998        488usize,
5999        concat!(
6000            "Offset of field: ",
6001            stringify!(AVCodecContext),
6002            "::",
6003            stringify!(rc_initial_buffer_occupancy)
6004        )
6005    );
6006    assert_eq!(
6007        unsafe { ::std::ptr::addr_of!((*ptr).trellis) as usize - ptr as usize },
6008        492usize,
6009        concat!(
6010            "Offset of field: ",
6011            stringify!(AVCodecContext),
6012            "::",
6013            stringify!(trellis)
6014        )
6015    );
6016    assert_eq!(
6017        unsafe { ::std::ptr::addr_of!((*ptr).stats_out) as usize - ptr as usize },
6018        496usize,
6019        concat!(
6020            "Offset of field: ",
6021            stringify!(AVCodecContext),
6022            "::",
6023            stringify!(stats_out)
6024        )
6025    );
6026    assert_eq!(
6027        unsafe { ::std::ptr::addr_of!((*ptr).stats_in) as usize - ptr as usize },
6028        504usize,
6029        concat!(
6030            "Offset of field: ",
6031            stringify!(AVCodecContext),
6032            "::",
6033            stringify!(stats_in)
6034        )
6035    );
6036    assert_eq!(
6037        unsafe { ::std::ptr::addr_of!((*ptr).workaround_bugs) as usize - ptr as usize },
6038        512usize,
6039        concat!(
6040            "Offset of field: ",
6041            stringify!(AVCodecContext),
6042            "::",
6043            stringify!(workaround_bugs)
6044        )
6045    );
6046    assert_eq!(
6047        unsafe { ::std::ptr::addr_of!((*ptr).strict_std_compliance) as usize - ptr as usize },
6048        516usize,
6049        concat!(
6050            "Offset of field: ",
6051            stringify!(AVCodecContext),
6052            "::",
6053            stringify!(strict_std_compliance)
6054        )
6055    );
6056    assert_eq!(
6057        unsafe { ::std::ptr::addr_of!((*ptr).error_concealment) as usize - ptr as usize },
6058        520usize,
6059        concat!(
6060            "Offset of field: ",
6061            stringify!(AVCodecContext),
6062            "::",
6063            stringify!(error_concealment)
6064        )
6065    );
6066    assert_eq!(
6067        unsafe { ::std::ptr::addr_of!((*ptr).debug) as usize - ptr as usize },
6068        524usize,
6069        concat!(
6070            "Offset of field: ",
6071            stringify!(AVCodecContext),
6072            "::",
6073            stringify!(debug)
6074        )
6075    );
6076    assert_eq!(
6077        unsafe { ::std::ptr::addr_of!((*ptr).err_recognition) as usize - ptr as usize },
6078        528usize,
6079        concat!(
6080            "Offset of field: ",
6081            stringify!(AVCodecContext),
6082            "::",
6083            stringify!(err_recognition)
6084        )
6085    );
6086    assert_eq!(
6087        unsafe { ::std::ptr::addr_of!((*ptr).hwaccel) as usize - ptr as usize },
6088        536usize,
6089        concat!(
6090            "Offset of field: ",
6091            stringify!(AVCodecContext),
6092            "::",
6093            stringify!(hwaccel)
6094        )
6095    );
6096    assert_eq!(
6097        unsafe { ::std::ptr::addr_of!((*ptr).hwaccel_context) as usize - ptr as usize },
6098        544usize,
6099        concat!(
6100            "Offset of field: ",
6101            stringify!(AVCodecContext),
6102            "::",
6103            stringify!(hwaccel_context)
6104        )
6105    );
6106    assert_eq!(
6107        unsafe { ::std::ptr::addr_of!((*ptr).hw_frames_ctx) as usize - ptr as usize },
6108        552usize,
6109        concat!(
6110            "Offset of field: ",
6111            stringify!(AVCodecContext),
6112            "::",
6113            stringify!(hw_frames_ctx)
6114        )
6115    );
6116    assert_eq!(
6117        unsafe { ::std::ptr::addr_of!((*ptr).hw_device_ctx) as usize - ptr as usize },
6118        560usize,
6119        concat!(
6120            "Offset of field: ",
6121            stringify!(AVCodecContext),
6122            "::",
6123            stringify!(hw_device_ctx)
6124        )
6125    );
6126    assert_eq!(
6127        unsafe { ::std::ptr::addr_of!((*ptr).hwaccel_flags) as usize - ptr as usize },
6128        568usize,
6129        concat!(
6130            "Offset of field: ",
6131            stringify!(AVCodecContext),
6132            "::",
6133            stringify!(hwaccel_flags)
6134        )
6135    );
6136    assert_eq!(
6137        unsafe { ::std::ptr::addr_of!((*ptr).extra_hw_frames) as usize - ptr as usize },
6138        572usize,
6139        concat!(
6140            "Offset of field: ",
6141            stringify!(AVCodecContext),
6142            "::",
6143            stringify!(extra_hw_frames)
6144        )
6145    );
6146    assert_eq!(
6147        unsafe { ::std::ptr::addr_of!((*ptr).error) as usize - ptr as usize },
6148        576usize,
6149        concat!(
6150            "Offset of field: ",
6151            stringify!(AVCodecContext),
6152            "::",
6153            stringify!(error)
6154        )
6155    );
6156    assert_eq!(
6157        unsafe { ::std::ptr::addr_of!((*ptr).dct_algo) as usize - ptr as usize },
6158        640usize,
6159        concat!(
6160            "Offset of field: ",
6161            stringify!(AVCodecContext),
6162            "::",
6163            stringify!(dct_algo)
6164        )
6165    );
6166    assert_eq!(
6167        unsafe { ::std::ptr::addr_of!((*ptr).idct_algo) as usize - ptr as usize },
6168        644usize,
6169        concat!(
6170            "Offset of field: ",
6171            stringify!(AVCodecContext),
6172            "::",
6173            stringify!(idct_algo)
6174        )
6175    );
6176    assert_eq!(
6177        unsafe { ::std::ptr::addr_of!((*ptr).bits_per_coded_sample) as usize - ptr as usize },
6178        648usize,
6179        concat!(
6180            "Offset of field: ",
6181            stringify!(AVCodecContext),
6182            "::",
6183            stringify!(bits_per_coded_sample)
6184        )
6185    );
6186    assert_eq!(
6187        unsafe { ::std::ptr::addr_of!((*ptr).bits_per_raw_sample) as usize - ptr as usize },
6188        652usize,
6189        concat!(
6190            "Offset of field: ",
6191            stringify!(AVCodecContext),
6192            "::",
6193            stringify!(bits_per_raw_sample)
6194        )
6195    );
6196    assert_eq!(
6197        unsafe { ::std::ptr::addr_of!((*ptr).thread_count) as usize - ptr as usize },
6198        656usize,
6199        concat!(
6200            "Offset of field: ",
6201            stringify!(AVCodecContext),
6202            "::",
6203            stringify!(thread_count)
6204        )
6205    );
6206    assert_eq!(
6207        unsafe { ::std::ptr::addr_of!((*ptr).thread_type) as usize - ptr as usize },
6208        660usize,
6209        concat!(
6210            "Offset of field: ",
6211            stringify!(AVCodecContext),
6212            "::",
6213            stringify!(thread_type)
6214        )
6215    );
6216    assert_eq!(
6217        unsafe { ::std::ptr::addr_of!((*ptr).active_thread_type) as usize - ptr as usize },
6218        664usize,
6219        concat!(
6220            "Offset of field: ",
6221            stringify!(AVCodecContext),
6222            "::",
6223            stringify!(active_thread_type)
6224        )
6225    );
6226    assert_eq!(
6227        unsafe { ::std::ptr::addr_of!((*ptr).execute) as usize - ptr as usize },
6228        672usize,
6229        concat!(
6230            "Offset of field: ",
6231            stringify!(AVCodecContext),
6232            "::",
6233            stringify!(execute)
6234        )
6235    );
6236    assert_eq!(
6237        unsafe { ::std::ptr::addr_of!((*ptr).execute2) as usize - ptr as usize },
6238        680usize,
6239        concat!(
6240            "Offset of field: ",
6241            stringify!(AVCodecContext),
6242            "::",
6243            stringify!(execute2)
6244        )
6245    );
6246    assert_eq!(
6247        unsafe { ::std::ptr::addr_of!((*ptr).profile) as usize - ptr as usize },
6248        688usize,
6249        concat!(
6250            "Offset of field: ",
6251            stringify!(AVCodecContext),
6252            "::",
6253            stringify!(profile)
6254        )
6255    );
6256    assert_eq!(
6257        unsafe { ::std::ptr::addr_of!((*ptr).level) as usize - ptr as usize },
6258        692usize,
6259        concat!(
6260            "Offset of field: ",
6261            stringify!(AVCodecContext),
6262            "::",
6263            stringify!(level)
6264        )
6265    );
6266    assert_eq!(
6267        unsafe { ::std::ptr::addr_of!((*ptr).properties) as usize - ptr as usize },
6268        696usize,
6269        concat!(
6270            "Offset of field: ",
6271            stringify!(AVCodecContext),
6272            "::",
6273            stringify!(properties)
6274        )
6275    );
6276    assert_eq!(
6277        unsafe { ::std::ptr::addr_of!((*ptr).skip_loop_filter) as usize - ptr as usize },
6278        700usize,
6279        concat!(
6280            "Offset of field: ",
6281            stringify!(AVCodecContext),
6282            "::",
6283            stringify!(skip_loop_filter)
6284        )
6285    );
6286    assert_eq!(
6287        unsafe { ::std::ptr::addr_of!((*ptr).skip_idct) as usize - ptr as usize },
6288        704usize,
6289        concat!(
6290            "Offset of field: ",
6291            stringify!(AVCodecContext),
6292            "::",
6293            stringify!(skip_idct)
6294        )
6295    );
6296    assert_eq!(
6297        unsafe { ::std::ptr::addr_of!((*ptr).skip_frame) as usize - ptr as usize },
6298        708usize,
6299        concat!(
6300            "Offset of field: ",
6301            stringify!(AVCodecContext),
6302            "::",
6303            stringify!(skip_frame)
6304        )
6305    );
6306    assert_eq!(
6307        unsafe { ::std::ptr::addr_of!((*ptr).skip_alpha) as usize - ptr as usize },
6308        712usize,
6309        concat!(
6310            "Offset of field: ",
6311            stringify!(AVCodecContext),
6312            "::",
6313            stringify!(skip_alpha)
6314        )
6315    );
6316    assert_eq!(
6317        unsafe { ::std::ptr::addr_of!((*ptr).skip_top) as usize - ptr as usize },
6318        716usize,
6319        concat!(
6320            "Offset of field: ",
6321            stringify!(AVCodecContext),
6322            "::",
6323            stringify!(skip_top)
6324        )
6325    );
6326    assert_eq!(
6327        unsafe { ::std::ptr::addr_of!((*ptr).skip_bottom) as usize - ptr as usize },
6328        720usize,
6329        concat!(
6330            "Offset of field: ",
6331            stringify!(AVCodecContext),
6332            "::",
6333            stringify!(skip_bottom)
6334        )
6335    );
6336    assert_eq!(
6337        unsafe { ::std::ptr::addr_of!((*ptr).lowres) as usize - ptr as usize },
6338        724usize,
6339        concat!(
6340            "Offset of field: ",
6341            stringify!(AVCodecContext),
6342            "::",
6343            stringify!(lowres)
6344        )
6345    );
6346    assert_eq!(
6347        unsafe { ::std::ptr::addr_of!((*ptr).codec_descriptor) as usize - ptr as usize },
6348        728usize,
6349        concat!(
6350            "Offset of field: ",
6351            stringify!(AVCodecContext),
6352            "::",
6353            stringify!(codec_descriptor)
6354        )
6355    );
6356    assert_eq!(
6357        unsafe { ::std::ptr::addr_of!((*ptr).sub_charenc) as usize - ptr as usize },
6358        736usize,
6359        concat!(
6360            "Offset of field: ",
6361            stringify!(AVCodecContext),
6362            "::",
6363            stringify!(sub_charenc)
6364        )
6365    );
6366    assert_eq!(
6367        unsafe { ::std::ptr::addr_of!((*ptr).sub_charenc_mode) as usize - ptr as usize },
6368        744usize,
6369        concat!(
6370            "Offset of field: ",
6371            stringify!(AVCodecContext),
6372            "::",
6373            stringify!(sub_charenc_mode)
6374        )
6375    );
6376    assert_eq!(
6377        unsafe { ::std::ptr::addr_of!((*ptr).subtitle_header_size) as usize - ptr as usize },
6378        748usize,
6379        concat!(
6380            "Offset of field: ",
6381            stringify!(AVCodecContext),
6382            "::",
6383            stringify!(subtitle_header_size)
6384        )
6385    );
6386    assert_eq!(
6387        unsafe { ::std::ptr::addr_of!((*ptr).subtitle_header) as usize - ptr as usize },
6388        752usize,
6389        concat!(
6390            "Offset of field: ",
6391            stringify!(AVCodecContext),
6392            "::",
6393            stringify!(subtitle_header)
6394        )
6395    );
6396    assert_eq!(
6397        unsafe { ::std::ptr::addr_of!((*ptr).dump_separator) as usize - ptr as usize },
6398        760usize,
6399        concat!(
6400            "Offset of field: ",
6401            stringify!(AVCodecContext),
6402            "::",
6403            stringify!(dump_separator)
6404        )
6405    );
6406    assert_eq!(
6407        unsafe { ::std::ptr::addr_of!((*ptr).codec_whitelist) as usize - ptr as usize },
6408        768usize,
6409        concat!(
6410            "Offset of field: ",
6411            stringify!(AVCodecContext),
6412            "::",
6413            stringify!(codec_whitelist)
6414        )
6415    );
6416    assert_eq!(
6417        unsafe { ::std::ptr::addr_of!((*ptr).coded_side_data) as usize - ptr as usize },
6418        776usize,
6419        concat!(
6420            "Offset of field: ",
6421            stringify!(AVCodecContext),
6422            "::",
6423            stringify!(coded_side_data)
6424        )
6425    );
6426    assert_eq!(
6427        unsafe { ::std::ptr::addr_of!((*ptr).nb_coded_side_data) as usize - ptr as usize },
6428        784usize,
6429        concat!(
6430            "Offset of field: ",
6431            stringify!(AVCodecContext),
6432            "::",
6433            stringify!(nb_coded_side_data)
6434        )
6435    );
6436    assert_eq!(
6437        unsafe { ::std::ptr::addr_of!((*ptr).export_side_data) as usize - ptr as usize },
6438        788usize,
6439        concat!(
6440            "Offset of field: ",
6441            stringify!(AVCodecContext),
6442            "::",
6443            stringify!(export_side_data)
6444        )
6445    );
6446    assert_eq!(
6447        unsafe { ::std::ptr::addr_of!((*ptr).max_pixels) as usize - ptr as usize },
6448        792usize,
6449        concat!(
6450            "Offset of field: ",
6451            stringify!(AVCodecContext),
6452            "::",
6453            stringify!(max_pixels)
6454        )
6455    );
6456    assert_eq!(
6457        unsafe { ::std::ptr::addr_of!((*ptr).apply_cropping) as usize - ptr as usize },
6458        800usize,
6459        concat!(
6460            "Offset of field: ",
6461            stringify!(AVCodecContext),
6462            "::",
6463            stringify!(apply_cropping)
6464        )
6465    );
6466    assert_eq!(
6467        unsafe { ::std::ptr::addr_of!((*ptr).discard_damaged_percentage) as usize - ptr as usize },
6468        804usize,
6469        concat!(
6470            "Offset of field: ",
6471            stringify!(AVCodecContext),
6472            "::",
6473            stringify!(discard_damaged_percentage)
6474        )
6475    );
6476    assert_eq!(
6477        unsafe { ::std::ptr::addr_of!((*ptr).max_samples) as usize - ptr as usize },
6478        808usize,
6479        concat!(
6480            "Offset of field: ",
6481            stringify!(AVCodecContext),
6482            "::",
6483            stringify!(max_samples)
6484        )
6485    );
6486    assert_eq!(
6487        unsafe { ::std::ptr::addr_of!((*ptr).get_encode_buffer) as usize - ptr as usize },
6488        816usize,
6489        concat!(
6490            "Offset of field: ",
6491            stringify!(AVCodecContext),
6492            "::",
6493            stringify!(get_encode_buffer)
6494        )
6495    );
6496    assert_eq!(
6497        unsafe { ::std::ptr::addr_of!((*ptr).frame_num) as usize - ptr as usize },
6498        824usize,
6499        concat!(
6500            "Offset of field: ",
6501            stringify!(AVCodecContext),
6502            "::",
6503            stringify!(frame_num)
6504        )
6505    );
6506    assert_eq!(
6507        unsafe { ::std::ptr::addr_of!((*ptr).side_data_prefer_packet) as usize - ptr as usize },
6508        832usize,
6509        concat!(
6510            "Offset of field: ",
6511            stringify!(AVCodecContext),
6512            "::",
6513            stringify!(side_data_prefer_packet)
6514        )
6515    );
6516    assert_eq!(
6517        unsafe { ::std::ptr::addr_of!((*ptr).nb_side_data_prefer_packet) as usize - ptr as usize },
6518        840usize,
6519        concat!(
6520            "Offset of field: ",
6521            stringify!(AVCodecContext),
6522            "::",
6523            stringify!(nb_side_data_prefer_packet)
6524        )
6525    );
6526    assert_eq!(
6527        unsafe { ::std::ptr::addr_of!((*ptr).decoded_side_data) as usize - ptr as usize },
6528        848usize,
6529        concat!(
6530            "Offset of field: ",
6531            stringify!(AVCodecContext),
6532            "::",
6533            stringify!(decoded_side_data)
6534        )
6535    );
6536    assert_eq!(
6537        unsafe { ::std::ptr::addr_of!((*ptr).nb_decoded_side_data) as usize - ptr as usize },
6538        856usize,
6539        concat!(
6540            "Offset of field: ",
6541            stringify!(AVCodecContext),
6542            "::",
6543            stringify!(nb_decoded_side_data)
6544        )
6545    );
6546}
6547#[repr(C)]
6548#[derive(Debug, Copy, Clone)]
6549pub struct AVHWAccel {
6550    pub name: *const ::std::os::raw::c_char,
6551    pub type_: AVMediaType,
6552    pub id: AVCodecID,
6553    pub pix_fmt: AVPixelFormat,
6554    pub capabilities: ::std::os::raw::c_int,
6555}
6556#[test]
6557fn bindgen_test_layout_AVHWAccel() {
6558    const UNINIT: ::std::mem::MaybeUninit<AVHWAccel> = ::std::mem::MaybeUninit::uninit();
6559    let ptr = UNINIT.as_ptr();
6560    assert_eq!(
6561        ::std::mem::size_of::<AVHWAccel>(),
6562        24usize,
6563        concat!("Size of: ", stringify!(AVHWAccel))
6564    );
6565    assert_eq!(
6566        ::std::mem::align_of::<AVHWAccel>(),
6567        8usize,
6568        concat!("Alignment of ", stringify!(AVHWAccel))
6569    );
6570    assert_eq!(
6571        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
6572        0usize,
6573        concat!(
6574            "Offset of field: ",
6575            stringify!(AVHWAccel),
6576            "::",
6577            stringify!(name)
6578        )
6579    );
6580    assert_eq!(
6581        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6582        8usize,
6583        concat!(
6584            "Offset of field: ",
6585            stringify!(AVHWAccel),
6586            "::",
6587            stringify!(type_)
6588        )
6589    );
6590    assert_eq!(
6591        unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
6592        12usize,
6593        concat!(
6594            "Offset of field: ",
6595            stringify!(AVHWAccel),
6596            "::",
6597            stringify!(id)
6598        )
6599    );
6600    assert_eq!(
6601        unsafe { ::std::ptr::addr_of!((*ptr).pix_fmt) as usize - ptr as usize },
6602        16usize,
6603        concat!(
6604            "Offset of field: ",
6605            stringify!(AVHWAccel),
6606            "::",
6607            stringify!(pix_fmt)
6608        )
6609    );
6610    assert_eq!(
6611        unsafe { ::std::ptr::addr_of!((*ptr).capabilities) as usize - ptr as usize },
6612        20usize,
6613        concat!(
6614            "Offset of field: ",
6615            stringify!(AVHWAccel),
6616            "::",
6617            stringify!(capabilities)
6618        )
6619    );
6620}
6621pub const AVSubtitleType_SUBTITLE_NONE: AVSubtitleType = 0;
6622pub const AVSubtitleType_SUBTITLE_BITMAP: AVSubtitleType = 1;
6623pub const AVSubtitleType_SUBTITLE_TEXT: AVSubtitleType = 2;
6624pub const AVSubtitleType_SUBTITLE_ASS: AVSubtitleType = 3;
6625pub type AVSubtitleType = ::std::os::raw::c_uint;
6626#[repr(C)]
6627#[derive(Debug, Copy, Clone)]
6628pub struct AVSubtitleRect {
6629    pub x: ::std::os::raw::c_int,
6630    pub y: ::std::os::raw::c_int,
6631    pub w: ::std::os::raw::c_int,
6632    pub h: ::std::os::raw::c_int,
6633    pub nb_colors: ::std::os::raw::c_int,
6634    pub data: [*mut u8; 4usize],
6635    pub linesize: [::std::os::raw::c_int; 4usize],
6636    pub flags: ::std::os::raw::c_int,
6637    pub type_: AVSubtitleType,
6638    pub text: *mut ::std::os::raw::c_char,
6639    pub ass: *mut ::std::os::raw::c_char,
6640}
6641#[test]
6642fn bindgen_test_layout_AVSubtitleRect() {
6643    const UNINIT: ::std::mem::MaybeUninit<AVSubtitleRect> = ::std::mem::MaybeUninit::uninit();
6644    let ptr = UNINIT.as_ptr();
6645    assert_eq!(
6646        ::std::mem::size_of::<AVSubtitleRect>(),
6647        96usize,
6648        concat!("Size of: ", stringify!(AVSubtitleRect))
6649    );
6650    assert_eq!(
6651        ::std::mem::align_of::<AVSubtitleRect>(),
6652        8usize,
6653        concat!("Alignment of ", stringify!(AVSubtitleRect))
6654    );
6655    assert_eq!(
6656        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
6657        0usize,
6658        concat!(
6659            "Offset of field: ",
6660            stringify!(AVSubtitleRect),
6661            "::",
6662            stringify!(x)
6663        )
6664    );
6665    assert_eq!(
6666        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
6667        4usize,
6668        concat!(
6669            "Offset of field: ",
6670            stringify!(AVSubtitleRect),
6671            "::",
6672            stringify!(y)
6673        )
6674    );
6675    assert_eq!(
6676        unsafe { ::std::ptr::addr_of!((*ptr).w) as usize - ptr as usize },
6677        8usize,
6678        concat!(
6679            "Offset of field: ",
6680            stringify!(AVSubtitleRect),
6681            "::",
6682            stringify!(w)
6683        )
6684    );
6685    assert_eq!(
6686        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
6687        12usize,
6688        concat!(
6689            "Offset of field: ",
6690            stringify!(AVSubtitleRect),
6691            "::",
6692            stringify!(h)
6693        )
6694    );
6695    assert_eq!(
6696        unsafe { ::std::ptr::addr_of!((*ptr).nb_colors) as usize - ptr as usize },
6697        16usize,
6698        concat!(
6699            "Offset of field: ",
6700            stringify!(AVSubtitleRect),
6701            "::",
6702            stringify!(nb_colors)
6703        )
6704    );
6705    assert_eq!(
6706        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6707        24usize,
6708        concat!(
6709            "Offset of field: ",
6710            stringify!(AVSubtitleRect),
6711            "::",
6712            stringify!(data)
6713        )
6714    );
6715    assert_eq!(
6716        unsafe { ::std::ptr::addr_of!((*ptr).linesize) as usize - ptr as usize },
6717        56usize,
6718        concat!(
6719            "Offset of field: ",
6720            stringify!(AVSubtitleRect),
6721            "::",
6722            stringify!(linesize)
6723        )
6724    );
6725    assert_eq!(
6726        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6727        72usize,
6728        concat!(
6729            "Offset of field: ",
6730            stringify!(AVSubtitleRect),
6731            "::",
6732            stringify!(flags)
6733        )
6734    );
6735    assert_eq!(
6736        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6737        76usize,
6738        concat!(
6739            "Offset of field: ",
6740            stringify!(AVSubtitleRect),
6741            "::",
6742            stringify!(type_)
6743        )
6744    );
6745    assert_eq!(
6746        unsafe { ::std::ptr::addr_of!((*ptr).text) as usize - ptr as usize },
6747        80usize,
6748        concat!(
6749            "Offset of field: ",
6750            stringify!(AVSubtitleRect),
6751            "::",
6752            stringify!(text)
6753        )
6754    );
6755    assert_eq!(
6756        unsafe { ::std::ptr::addr_of!((*ptr).ass) as usize - ptr as usize },
6757        88usize,
6758        concat!(
6759            "Offset of field: ",
6760            stringify!(AVSubtitleRect),
6761            "::",
6762            stringify!(ass)
6763        )
6764    );
6765}
6766#[repr(C)]
6767#[derive(Debug, Copy, Clone)]
6768pub struct AVSubtitle {
6769    pub format: u16,
6770    pub start_display_time: u32,
6771    pub end_display_time: u32,
6772    pub num_rects: ::std::os::raw::c_uint,
6773    pub rects: *mut *mut AVSubtitleRect,
6774    pub pts: i64,
6775}
6776#[test]
6777fn bindgen_test_layout_AVSubtitle() {
6778    const UNINIT: ::std::mem::MaybeUninit<AVSubtitle> = ::std::mem::MaybeUninit::uninit();
6779    let ptr = UNINIT.as_ptr();
6780    assert_eq!(
6781        ::std::mem::size_of::<AVSubtitle>(),
6782        32usize,
6783        concat!("Size of: ", stringify!(AVSubtitle))
6784    );
6785    assert_eq!(
6786        ::std::mem::align_of::<AVSubtitle>(),
6787        8usize,
6788        concat!("Alignment of ", stringify!(AVSubtitle))
6789    );
6790    assert_eq!(
6791        unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
6792        0usize,
6793        concat!(
6794            "Offset of field: ",
6795            stringify!(AVSubtitle),
6796            "::",
6797            stringify!(format)
6798        )
6799    );
6800    assert_eq!(
6801        unsafe { ::std::ptr::addr_of!((*ptr).start_display_time) as usize - ptr as usize },
6802        4usize,
6803        concat!(
6804            "Offset of field: ",
6805            stringify!(AVSubtitle),
6806            "::",
6807            stringify!(start_display_time)
6808        )
6809    );
6810    assert_eq!(
6811        unsafe { ::std::ptr::addr_of!((*ptr).end_display_time) as usize - ptr as usize },
6812        8usize,
6813        concat!(
6814            "Offset of field: ",
6815            stringify!(AVSubtitle),
6816            "::",
6817            stringify!(end_display_time)
6818        )
6819    );
6820    assert_eq!(
6821        unsafe { ::std::ptr::addr_of!((*ptr).num_rects) as usize - ptr as usize },
6822        12usize,
6823        concat!(
6824            "Offset of field: ",
6825            stringify!(AVSubtitle),
6826            "::",
6827            stringify!(num_rects)
6828        )
6829    );
6830    assert_eq!(
6831        unsafe { ::std::ptr::addr_of!((*ptr).rects) as usize - ptr as usize },
6832        16usize,
6833        concat!(
6834            "Offset of field: ",
6835            stringify!(AVSubtitle),
6836            "::",
6837            stringify!(rects)
6838        )
6839    );
6840    assert_eq!(
6841        unsafe { ::std::ptr::addr_of!((*ptr).pts) as usize - ptr as usize },
6842        24usize,
6843        concat!(
6844            "Offset of field: ",
6845            stringify!(AVSubtitle),
6846            "::",
6847            stringify!(pts)
6848        )
6849    );
6850}
6851extern "C" {
6852    pub fn avcodec_version() -> ::std::os::raw::c_uint;
6853}
6854extern "C" {
6855    pub fn avcodec_configuration() -> *const ::std::os::raw::c_char;
6856}
6857extern "C" {
6858    pub fn avcodec_license() -> *const ::std::os::raw::c_char;
6859}
6860extern "C" {
6861    pub fn avcodec_alloc_context3(codec: *const AVCodec) -> *mut AVCodecContext;
6862}
6863extern "C" {
6864    pub fn avcodec_free_context(avctx: *mut *mut AVCodecContext);
6865}
6866extern "C" {
6867    pub fn avcodec_get_class() -> *const AVClass;
6868}
6869extern "C" {
6870    pub fn avcodec_get_subtitle_rect_class() -> *const AVClass;
6871}
6872extern "C" {
6873    pub fn avcodec_parameters_from_context(
6874        par: *mut AVCodecParameters,
6875        codec: *const AVCodecContext,
6876    ) -> ::std::os::raw::c_int;
6877}
6878extern "C" {
6879    pub fn avcodec_parameters_to_context(
6880        codec: *mut AVCodecContext,
6881        par: *const AVCodecParameters,
6882    ) -> ::std::os::raw::c_int;
6883}
6884extern "C" {
6885    pub fn avcodec_open2(
6886        avctx: *mut AVCodecContext,
6887        codec: *const AVCodec,
6888        options: *mut *mut AVDictionary,
6889    ) -> ::std::os::raw::c_int;
6890}
6891extern "C" {
6892    pub fn avcodec_close(avctx: *mut AVCodecContext) -> ::std::os::raw::c_int;
6893}
6894extern "C" {
6895    pub fn avcodec_default_get_buffer2(
6896        s: *mut AVCodecContext,
6897        frame: *mut AVFrame,
6898        flags: ::std::os::raw::c_int,
6899    ) -> ::std::os::raw::c_int;
6900}
6901extern "C" {
6902    pub fn avcodec_default_get_encode_buffer(
6903        s: *mut AVCodecContext,
6904        pkt: *mut AVPacket,
6905        flags: ::std::os::raw::c_int,
6906    ) -> ::std::os::raw::c_int;
6907}
6908extern "C" {
6909    pub fn avcodec_align_dimensions(
6910        s: *mut AVCodecContext,
6911        width: *mut ::std::os::raw::c_int,
6912        height: *mut ::std::os::raw::c_int,
6913    );
6914}
6915extern "C" {
6916    pub fn avcodec_align_dimensions2(
6917        s: *mut AVCodecContext,
6918        width: *mut ::std::os::raw::c_int,
6919        height: *mut ::std::os::raw::c_int,
6920        linesize_align: *mut ::std::os::raw::c_int,
6921    );
6922}
6923extern "C" {
6924    pub fn avcodec_decode_subtitle2(
6925        avctx: *mut AVCodecContext,
6926        sub: *mut AVSubtitle,
6927        got_sub_ptr: *mut ::std::os::raw::c_int,
6928        avpkt: *const AVPacket,
6929    ) -> ::std::os::raw::c_int;
6930}
6931extern "C" {
6932    pub fn avcodec_send_packet(
6933        avctx: *mut AVCodecContext,
6934        avpkt: *const AVPacket,
6935    ) -> ::std::os::raw::c_int;
6936}
6937extern "C" {
6938    pub fn avcodec_receive_frame(
6939        avctx: *mut AVCodecContext,
6940        frame: *mut AVFrame,
6941    ) -> ::std::os::raw::c_int;
6942}
6943extern "C" {
6944    pub fn avcodec_send_frame(
6945        avctx: *mut AVCodecContext,
6946        frame: *const AVFrame,
6947    ) -> ::std::os::raw::c_int;
6948}
6949extern "C" {
6950    pub fn avcodec_receive_packet(
6951        avctx: *mut AVCodecContext,
6952        avpkt: *mut AVPacket,
6953    ) -> ::std::os::raw::c_int;
6954}
6955extern "C" {
6956    pub fn avcodec_get_hw_frames_parameters(
6957        avctx: *mut AVCodecContext,
6958        device_ref: *mut AVBufferRef,
6959        hw_pix_fmt: AVPixelFormat,
6960        out_frames_ref: *mut *mut AVBufferRef,
6961    ) -> ::std::os::raw::c_int;
6962}
6963pub const AVCodecConfig_AV_CODEC_CONFIG_PIX_FORMAT: AVCodecConfig = 0;
6964pub const AVCodecConfig_AV_CODEC_CONFIG_FRAME_RATE: AVCodecConfig = 1;
6965pub const AVCodecConfig_AV_CODEC_CONFIG_SAMPLE_RATE: AVCodecConfig = 2;
6966pub const AVCodecConfig_AV_CODEC_CONFIG_SAMPLE_FORMAT: AVCodecConfig = 3;
6967pub const AVCodecConfig_AV_CODEC_CONFIG_CHANNEL_LAYOUT: AVCodecConfig = 4;
6968pub const AVCodecConfig_AV_CODEC_CONFIG_COLOR_RANGE: AVCodecConfig = 5;
6969pub const AVCodecConfig_AV_CODEC_CONFIG_COLOR_SPACE: AVCodecConfig = 6;
6970pub type AVCodecConfig = ::std::os::raw::c_uint;
6971extern "C" {
6972    pub fn avcodec_get_supported_config(
6973        avctx: *const AVCodecContext,
6974        codec: *const AVCodec,
6975        config: AVCodecConfig,
6976        flags: ::std::os::raw::c_uint,
6977        out_configs: *mut *const ::std::os::raw::c_void,
6978        out_num_configs: *mut ::std::os::raw::c_int,
6979    ) -> ::std::os::raw::c_int;
6980}
6981pub const AVPictureStructure_AV_PICTURE_STRUCTURE_UNKNOWN: AVPictureStructure = 0;
6982pub const AVPictureStructure_AV_PICTURE_STRUCTURE_TOP_FIELD: AVPictureStructure = 1;
6983pub const AVPictureStructure_AV_PICTURE_STRUCTURE_BOTTOM_FIELD: AVPictureStructure = 2;
6984pub const AVPictureStructure_AV_PICTURE_STRUCTURE_FRAME: AVPictureStructure = 3;
6985pub type AVPictureStructure = ::std::os::raw::c_uint;
6986#[repr(C)]
6987#[derive(Debug, Copy, Clone)]
6988pub struct AVCodecParserContext {
6989    pub priv_data: *mut ::std::os::raw::c_void,
6990    pub parser: *const AVCodecParser,
6991    pub frame_offset: i64,
6992    pub cur_offset: i64,
6993    pub next_frame_offset: i64,
6994    pub pict_type: ::std::os::raw::c_int,
6995    pub repeat_pict: ::std::os::raw::c_int,
6996    pub pts: i64,
6997    pub dts: i64,
6998    pub last_pts: i64,
6999    pub last_dts: i64,
7000    pub fetch_timestamp: ::std::os::raw::c_int,
7001    pub cur_frame_start_index: ::std::os::raw::c_int,
7002    pub cur_frame_offset: [i64; 4usize],
7003    pub cur_frame_pts: [i64; 4usize],
7004    pub cur_frame_dts: [i64; 4usize],
7005    pub flags: ::std::os::raw::c_int,
7006    pub offset: i64,
7007    pub cur_frame_end: [i64; 4usize],
7008    pub key_frame: ::std::os::raw::c_int,
7009    pub dts_sync_point: ::std::os::raw::c_int,
7010    pub dts_ref_dts_delta: ::std::os::raw::c_int,
7011    pub pts_dts_delta: ::std::os::raw::c_int,
7012    pub cur_frame_pos: [i64; 4usize],
7013    pub pos: i64,
7014    pub last_pos: i64,
7015    pub duration: ::std::os::raw::c_int,
7016    pub field_order: AVFieldOrder,
7017    pub picture_structure: AVPictureStructure,
7018    pub output_picture_number: ::std::os::raw::c_int,
7019    pub width: ::std::os::raw::c_int,
7020    pub height: ::std::os::raw::c_int,
7021    pub coded_width: ::std::os::raw::c_int,
7022    pub coded_height: ::std::os::raw::c_int,
7023    pub format: ::std::os::raw::c_int,
7024}
7025#[test]
7026fn bindgen_test_layout_AVCodecParserContext() {
7027    const UNINIT: ::std::mem::MaybeUninit<AVCodecParserContext> = ::std::mem::MaybeUninit::uninit();
7028    let ptr = UNINIT.as_ptr();
7029    assert_eq!(
7030        ::std::mem::size_of::<AVCodecParserContext>(),
7031        336usize,
7032        concat!("Size of: ", stringify!(AVCodecParserContext))
7033    );
7034    assert_eq!(
7035        ::std::mem::align_of::<AVCodecParserContext>(),
7036        8usize,
7037        concat!("Alignment of ", stringify!(AVCodecParserContext))
7038    );
7039    assert_eq!(
7040        unsafe { ::std::ptr::addr_of!((*ptr).priv_data) as usize - ptr as usize },
7041        0usize,
7042        concat!(
7043            "Offset of field: ",
7044            stringify!(AVCodecParserContext),
7045            "::",
7046            stringify!(priv_data)
7047        )
7048    );
7049    assert_eq!(
7050        unsafe { ::std::ptr::addr_of!((*ptr).parser) as usize - ptr as usize },
7051        8usize,
7052        concat!(
7053            "Offset of field: ",
7054            stringify!(AVCodecParserContext),
7055            "::",
7056            stringify!(parser)
7057        )
7058    );
7059    assert_eq!(
7060        unsafe { ::std::ptr::addr_of!((*ptr).frame_offset) as usize - ptr as usize },
7061        16usize,
7062        concat!(
7063            "Offset of field: ",
7064            stringify!(AVCodecParserContext),
7065            "::",
7066            stringify!(frame_offset)
7067        )
7068    );
7069    assert_eq!(
7070        unsafe { ::std::ptr::addr_of!((*ptr).cur_offset) as usize - ptr as usize },
7071        24usize,
7072        concat!(
7073            "Offset of field: ",
7074            stringify!(AVCodecParserContext),
7075            "::",
7076            stringify!(cur_offset)
7077        )
7078    );
7079    assert_eq!(
7080        unsafe { ::std::ptr::addr_of!((*ptr).next_frame_offset) as usize - ptr as usize },
7081        32usize,
7082        concat!(
7083            "Offset of field: ",
7084            stringify!(AVCodecParserContext),
7085            "::",
7086            stringify!(next_frame_offset)
7087        )
7088    );
7089    assert_eq!(
7090        unsafe { ::std::ptr::addr_of!((*ptr).pict_type) as usize - ptr as usize },
7091        40usize,
7092        concat!(
7093            "Offset of field: ",
7094            stringify!(AVCodecParserContext),
7095            "::",
7096            stringify!(pict_type)
7097        )
7098    );
7099    assert_eq!(
7100        unsafe { ::std::ptr::addr_of!((*ptr).repeat_pict) as usize - ptr as usize },
7101        44usize,
7102        concat!(
7103            "Offset of field: ",
7104            stringify!(AVCodecParserContext),
7105            "::",
7106            stringify!(repeat_pict)
7107        )
7108    );
7109    assert_eq!(
7110        unsafe { ::std::ptr::addr_of!((*ptr).pts) as usize - ptr as usize },
7111        48usize,
7112        concat!(
7113            "Offset of field: ",
7114            stringify!(AVCodecParserContext),
7115            "::",
7116            stringify!(pts)
7117        )
7118    );
7119    assert_eq!(
7120        unsafe { ::std::ptr::addr_of!((*ptr).dts) as usize - ptr as usize },
7121        56usize,
7122        concat!(
7123            "Offset of field: ",
7124            stringify!(AVCodecParserContext),
7125            "::",
7126            stringify!(dts)
7127        )
7128    );
7129    assert_eq!(
7130        unsafe { ::std::ptr::addr_of!((*ptr).last_pts) as usize - ptr as usize },
7131        64usize,
7132        concat!(
7133            "Offset of field: ",
7134            stringify!(AVCodecParserContext),
7135            "::",
7136            stringify!(last_pts)
7137        )
7138    );
7139    assert_eq!(
7140        unsafe { ::std::ptr::addr_of!((*ptr).last_dts) as usize - ptr as usize },
7141        72usize,
7142        concat!(
7143            "Offset of field: ",
7144            stringify!(AVCodecParserContext),
7145            "::",
7146            stringify!(last_dts)
7147        )
7148    );
7149    assert_eq!(
7150        unsafe { ::std::ptr::addr_of!((*ptr).fetch_timestamp) as usize - ptr as usize },
7151        80usize,
7152        concat!(
7153            "Offset of field: ",
7154            stringify!(AVCodecParserContext),
7155            "::",
7156            stringify!(fetch_timestamp)
7157        )
7158    );
7159    assert_eq!(
7160        unsafe { ::std::ptr::addr_of!((*ptr).cur_frame_start_index) as usize - ptr as usize },
7161        84usize,
7162        concat!(
7163            "Offset of field: ",
7164            stringify!(AVCodecParserContext),
7165            "::",
7166            stringify!(cur_frame_start_index)
7167        )
7168    );
7169    assert_eq!(
7170        unsafe { ::std::ptr::addr_of!((*ptr).cur_frame_offset) as usize - ptr as usize },
7171        88usize,
7172        concat!(
7173            "Offset of field: ",
7174            stringify!(AVCodecParserContext),
7175            "::",
7176            stringify!(cur_frame_offset)
7177        )
7178    );
7179    assert_eq!(
7180        unsafe { ::std::ptr::addr_of!((*ptr).cur_frame_pts) as usize - ptr as usize },
7181        120usize,
7182        concat!(
7183            "Offset of field: ",
7184            stringify!(AVCodecParserContext),
7185            "::",
7186            stringify!(cur_frame_pts)
7187        )
7188    );
7189    assert_eq!(
7190        unsafe { ::std::ptr::addr_of!((*ptr).cur_frame_dts) as usize - ptr as usize },
7191        152usize,
7192        concat!(
7193            "Offset of field: ",
7194            stringify!(AVCodecParserContext),
7195            "::",
7196            stringify!(cur_frame_dts)
7197        )
7198    );
7199    assert_eq!(
7200        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
7201        184usize,
7202        concat!(
7203            "Offset of field: ",
7204            stringify!(AVCodecParserContext),
7205            "::",
7206            stringify!(flags)
7207        )
7208    );
7209    assert_eq!(
7210        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
7211        192usize,
7212        concat!(
7213            "Offset of field: ",
7214            stringify!(AVCodecParserContext),
7215            "::",
7216            stringify!(offset)
7217        )
7218    );
7219    assert_eq!(
7220        unsafe { ::std::ptr::addr_of!((*ptr).cur_frame_end) as usize - ptr as usize },
7221        200usize,
7222        concat!(
7223            "Offset of field: ",
7224            stringify!(AVCodecParserContext),
7225            "::",
7226            stringify!(cur_frame_end)
7227        )
7228    );
7229    assert_eq!(
7230        unsafe { ::std::ptr::addr_of!((*ptr).key_frame) as usize - ptr as usize },
7231        232usize,
7232        concat!(
7233            "Offset of field: ",
7234            stringify!(AVCodecParserContext),
7235            "::",
7236            stringify!(key_frame)
7237        )
7238    );
7239    assert_eq!(
7240        unsafe { ::std::ptr::addr_of!((*ptr).dts_sync_point) as usize - ptr as usize },
7241        236usize,
7242        concat!(
7243            "Offset of field: ",
7244            stringify!(AVCodecParserContext),
7245            "::",
7246            stringify!(dts_sync_point)
7247        )
7248    );
7249    assert_eq!(
7250        unsafe { ::std::ptr::addr_of!((*ptr).dts_ref_dts_delta) as usize - ptr as usize },
7251        240usize,
7252        concat!(
7253            "Offset of field: ",
7254            stringify!(AVCodecParserContext),
7255            "::",
7256            stringify!(dts_ref_dts_delta)
7257        )
7258    );
7259    assert_eq!(
7260        unsafe { ::std::ptr::addr_of!((*ptr).pts_dts_delta) as usize - ptr as usize },
7261        244usize,
7262        concat!(
7263            "Offset of field: ",
7264            stringify!(AVCodecParserContext),
7265            "::",
7266            stringify!(pts_dts_delta)
7267        )
7268    );
7269    assert_eq!(
7270        unsafe { ::std::ptr::addr_of!((*ptr).cur_frame_pos) as usize - ptr as usize },
7271        248usize,
7272        concat!(
7273            "Offset of field: ",
7274            stringify!(AVCodecParserContext),
7275            "::",
7276            stringify!(cur_frame_pos)
7277        )
7278    );
7279    assert_eq!(
7280        unsafe { ::std::ptr::addr_of!((*ptr).pos) as usize - ptr as usize },
7281        280usize,
7282        concat!(
7283            "Offset of field: ",
7284            stringify!(AVCodecParserContext),
7285            "::",
7286            stringify!(pos)
7287        )
7288    );
7289    assert_eq!(
7290        unsafe { ::std::ptr::addr_of!((*ptr).last_pos) as usize - ptr as usize },
7291        288usize,
7292        concat!(
7293            "Offset of field: ",
7294            stringify!(AVCodecParserContext),
7295            "::",
7296            stringify!(last_pos)
7297        )
7298    );
7299    assert_eq!(
7300        unsafe { ::std::ptr::addr_of!((*ptr).duration) as usize - ptr as usize },
7301        296usize,
7302        concat!(
7303            "Offset of field: ",
7304            stringify!(AVCodecParserContext),
7305            "::",
7306            stringify!(duration)
7307        )
7308    );
7309    assert_eq!(
7310        unsafe { ::std::ptr::addr_of!((*ptr).field_order) as usize - ptr as usize },
7311        300usize,
7312        concat!(
7313            "Offset of field: ",
7314            stringify!(AVCodecParserContext),
7315            "::",
7316            stringify!(field_order)
7317        )
7318    );
7319    assert_eq!(
7320        unsafe { ::std::ptr::addr_of!((*ptr).picture_structure) as usize - ptr as usize },
7321        304usize,
7322        concat!(
7323            "Offset of field: ",
7324            stringify!(AVCodecParserContext),
7325            "::",
7326            stringify!(picture_structure)
7327        )
7328    );
7329    assert_eq!(
7330        unsafe { ::std::ptr::addr_of!((*ptr).output_picture_number) as usize - ptr as usize },
7331        308usize,
7332        concat!(
7333            "Offset of field: ",
7334            stringify!(AVCodecParserContext),
7335            "::",
7336            stringify!(output_picture_number)
7337        )
7338    );
7339    assert_eq!(
7340        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
7341        312usize,
7342        concat!(
7343            "Offset of field: ",
7344            stringify!(AVCodecParserContext),
7345            "::",
7346            stringify!(width)
7347        )
7348    );
7349    assert_eq!(
7350        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
7351        316usize,
7352        concat!(
7353            "Offset of field: ",
7354            stringify!(AVCodecParserContext),
7355            "::",
7356            stringify!(height)
7357        )
7358    );
7359    assert_eq!(
7360        unsafe { ::std::ptr::addr_of!((*ptr).coded_width) as usize - ptr as usize },
7361        320usize,
7362        concat!(
7363            "Offset of field: ",
7364            stringify!(AVCodecParserContext),
7365            "::",
7366            stringify!(coded_width)
7367        )
7368    );
7369    assert_eq!(
7370        unsafe { ::std::ptr::addr_of!((*ptr).coded_height) as usize - ptr as usize },
7371        324usize,
7372        concat!(
7373            "Offset of field: ",
7374            stringify!(AVCodecParserContext),
7375            "::",
7376            stringify!(coded_height)
7377        )
7378    );
7379    assert_eq!(
7380        unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
7381        328usize,
7382        concat!(
7383            "Offset of field: ",
7384            stringify!(AVCodecParserContext),
7385            "::",
7386            stringify!(format)
7387        )
7388    );
7389}
7390#[repr(C)]
7391#[derive(Debug, Copy, Clone)]
7392pub struct AVCodecParser {
7393    pub codec_ids: [::std::os::raw::c_int; 7usize],
7394    pub priv_data_size: ::std::os::raw::c_int,
7395    pub parser_init: ::std::option::Option<
7396        unsafe extern "C" fn(s: *mut AVCodecParserContext) -> ::std::os::raw::c_int,
7397    >,
7398    pub parser_parse: ::std::option::Option<
7399        unsafe extern "C" fn(
7400            s: *mut AVCodecParserContext,
7401            avctx: *mut AVCodecContext,
7402            poutbuf: *mut *const u8,
7403            poutbuf_size: *mut ::std::os::raw::c_int,
7404            buf: *const u8,
7405            buf_size: ::std::os::raw::c_int,
7406        ) -> ::std::os::raw::c_int,
7407    >,
7408    pub parser_close: ::std::option::Option<unsafe extern "C" fn(s: *mut AVCodecParserContext)>,
7409    pub split: ::std::option::Option<
7410        unsafe extern "C" fn(
7411            avctx: *mut AVCodecContext,
7412            buf: *const u8,
7413            buf_size: ::std::os::raw::c_int,
7414        ) -> ::std::os::raw::c_int,
7415    >,
7416}
7417#[test]
7418fn bindgen_test_layout_AVCodecParser() {
7419    const UNINIT: ::std::mem::MaybeUninit<AVCodecParser> = ::std::mem::MaybeUninit::uninit();
7420    let ptr = UNINIT.as_ptr();
7421    assert_eq!(
7422        ::std::mem::size_of::<AVCodecParser>(),
7423        64usize,
7424        concat!("Size of: ", stringify!(AVCodecParser))
7425    );
7426    assert_eq!(
7427        ::std::mem::align_of::<AVCodecParser>(),
7428        8usize,
7429        concat!("Alignment of ", stringify!(AVCodecParser))
7430    );
7431    assert_eq!(
7432        unsafe { ::std::ptr::addr_of!((*ptr).codec_ids) as usize - ptr as usize },
7433        0usize,
7434        concat!(
7435            "Offset of field: ",
7436            stringify!(AVCodecParser),
7437            "::",
7438            stringify!(codec_ids)
7439        )
7440    );
7441    assert_eq!(
7442        unsafe { ::std::ptr::addr_of!((*ptr).priv_data_size) as usize - ptr as usize },
7443        28usize,
7444        concat!(
7445            "Offset of field: ",
7446            stringify!(AVCodecParser),
7447            "::",
7448            stringify!(priv_data_size)
7449        )
7450    );
7451    assert_eq!(
7452        unsafe { ::std::ptr::addr_of!((*ptr).parser_init) as usize - ptr as usize },
7453        32usize,
7454        concat!(
7455            "Offset of field: ",
7456            stringify!(AVCodecParser),
7457            "::",
7458            stringify!(parser_init)
7459        )
7460    );
7461    assert_eq!(
7462        unsafe { ::std::ptr::addr_of!((*ptr).parser_parse) as usize - ptr as usize },
7463        40usize,
7464        concat!(
7465            "Offset of field: ",
7466            stringify!(AVCodecParser),
7467            "::",
7468            stringify!(parser_parse)
7469        )
7470    );
7471    assert_eq!(
7472        unsafe { ::std::ptr::addr_of!((*ptr).parser_close) as usize - ptr as usize },
7473        48usize,
7474        concat!(
7475            "Offset of field: ",
7476            stringify!(AVCodecParser),
7477            "::",
7478            stringify!(parser_close)
7479        )
7480    );
7481    assert_eq!(
7482        unsafe { ::std::ptr::addr_of!((*ptr).split) as usize - ptr as usize },
7483        56usize,
7484        concat!(
7485            "Offset of field: ",
7486            stringify!(AVCodecParser),
7487            "::",
7488            stringify!(split)
7489        )
7490    );
7491}
7492extern "C" {
7493    pub fn av_parser_iterate(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVCodecParser;
7494}
7495extern "C" {
7496    pub fn av_parser_init(codec_id: ::std::os::raw::c_int) -> *mut AVCodecParserContext;
7497}
7498extern "C" {
7499    pub fn av_parser_parse2(
7500        s: *mut AVCodecParserContext,
7501        avctx: *mut AVCodecContext,
7502        poutbuf: *mut *mut u8,
7503        poutbuf_size: *mut ::std::os::raw::c_int,
7504        buf: *const u8,
7505        buf_size: ::std::os::raw::c_int,
7506        pts: i64,
7507        dts: i64,
7508        pos: i64,
7509    ) -> ::std::os::raw::c_int;
7510}
7511extern "C" {
7512    pub fn av_parser_close(s: *mut AVCodecParserContext);
7513}
7514extern "C" {
7515    pub fn avcodec_encode_subtitle(
7516        avctx: *mut AVCodecContext,
7517        buf: *mut u8,
7518        buf_size: ::std::os::raw::c_int,
7519        sub: *const AVSubtitle,
7520    ) -> ::std::os::raw::c_int;
7521}
7522extern "C" {
7523    pub fn avcodec_pix_fmt_to_codec_tag(pix_fmt: AVPixelFormat) -> ::std::os::raw::c_uint;
7524}
7525extern "C" {
7526    pub fn avcodec_find_best_pix_fmt_of_list(
7527        pix_fmt_list: *const AVPixelFormat,
7528        src_pix_fmt: AVPixelFormat,
7529        has_alpha: ::std::os::raw::c_int,
7530        loss_ptr: *mut ::std::os::raw::c_int,
7531    ) -> AVPixelFormat;
7532}
7533extern "C" {
7534    pub fn avcodec_default_get_format(
7535        s: *mut AVCodecContext,
7536        fmt: *const AVPixelFormat,
7537    ) -> AVPixelFormat;
7538}
7539extern "C" {
7540    pub fn avcodec_string(
7541        buf: *mut ::std::os::raw::c_char,
7542        buf_size: ::std::os::raw::c_int,
7543        enc: *mut AVCodecContext,
7544        encode: ::std::os::raw::c_int,
7545    );
7546}
7547extern "C" {
7548    pub fn avcodec_default_execute(
7549        c: *mut AVCodecContext,
7550        func: ::std::option::Option<
7551            unsafe extern "C" fn(
7552                c2: *mut AVCodecContext,
7553                arg2: *mut ::std::os::raw::c_void,
7554            ) -> ::std::os::raw::c_int,
7555        >,
7556        arg: *mut ::std::os::raw::c_void,
7557        ret: *mut ::std::os::raw::c_int,
7558        count: ::std::os::raw::c_int,
7559        size: ::std::os::raw::c_int,
7560    ) -> ::std::os::raw::c_int;
7561}
7562extern "C" {
7563    pub fn avcodec_default_execute2(
7564        c: *mut AVCodecContext,
7565        func: ::std::option::Option<
7566            unsafe extern "C" fn(
7567                c2: *mut AVCodecContext,
7568                arg2: *mut ::std::os::raw::c_void,
7569                arg1: ::std::os::raw::c_int,
7570                arg2: ::std::os::raw::c_int,
7571            ) -> ::std::os::raw::c_int,
7572        >,
7573        arg: *mut ::std::os::raw::c_void,
7574        ret: *mut ::std::os::raw::c_int,
7575        count: ::std::os::raw::c_int,
7576    ) -> ::std::os::raw::c_int;
7577}
7578extern "C" {
7579    pub fn avcodec_fill_audio_frame(
7580        frame: *mut AVFrame,
7581        nb_channels: ::std::os::raw::c_int,
7582        sample_fmt: AVSampleFormat,
7583        buf: *const u8,
7584        buf_size: ::std::os::raw::c_int,
7585        align: ::std::os::raw::c_int,
7586    ) -> ::std::os::raw::c_int;
7587}
7588extern "C" {
7589    pub fn avcodec_flush_buffers(avctx: *mut AVCodecContext);
7590}
7591extern "C" {
7592    pub fn av_get_audio_frame_duration(
7593        avctx: *mut AVCodecContext,
7594        frame_bytes: ::std::os::raw::c_int,
7595    ) -> ::std::os::raw::c_int;
7596}
7597extern "C" {
7598    pub fn av_fast_padded_malloc(
7599        ptr: *mut ::std::os::raw::c_void,
7600        size: *mut ::std::os::raw::c_uint,
7601        min_size: usize,
7602    );
7603}
7604extern "C" {
7605    pub fn av_fast_padded_mallocz(
7606        ptr: *mut ::std::os::raw::c_void,
7607        size: *mut ::std::os::raw::c_uint,
7608        min_size: usize,
7609    );
7610}
7611extern "C" {
7612    pub fn avcodec_is_open(s: *mut AVCodecContext) -> ::std::os::raw::c_int;
7613}
7614extern "C" {
7615    pub fn av_get_cpu_flags() -> ::std::os::raw::c_int;
7616}
7617extern "C" {
7618    pub fn av_force_cpu_flags(flags: ::std::os::raw::c_int);
7619}
7620extern "C" {
7621    pub fn av_parse_cpu_caps(
7622        flags: *mut ::std::os::raw::c_uint,
7623        s: *const ::std::os::raw::c_char,
7624    ) -> ::std::os::raw::c_int;
7625}
7626extern "C" {
7627    pub fn av_cpu_count() -> ::std::os::raw::c_int;
7628}
7629extern "C" {
7630    pub fn av_cpu_force_count(count: ::std::os::raw::c_int);
7631}
7632extern "C" {
7633    pub fn av_cpu_max_align() -> usize;
7634}
7635#[repr(C)]
7636#[derive(Debug, Copy, Clone)]
7637pub struct AVComponentDescriptor {
7638    pub plane: ::std::os::raw::c_int,
7639    pub step: ::std::os::raw::c_int,
7640    pub offset: ::std::os::raw::c_int,
7641    pub shift: ::std::os::raw::c_int,
7642    pub depth: ::std::os::raw::c_int,
7643}
7644#[test]
7645fn bindgen_test_layout_AVComponentDescriptor() {
7646    const UNINIT: ::std::mem::MaybeUninit<AVComponentDescriptor> =
7647        ::std::mem::MaybeUninit::uninit();
7648    let ptr = UNINIT.as_ptr();
7649    assert_eq!(
7650        ::std::mem::size_of::<AVComponentDescriptor>(),
7651        20usize,
7652        concat!("Size of: ", stringify!(AVComponentDescriptor))
7653    );
7654    assert_eq!(
7655        ::std::mem::align_of::<AVComponentDescriptor>(),
7656        4usize,
7657        concat!("Alignment of ", stringify!(AVComponentDescriptor))
7658    );
7659    assert_eq!(
7660        unsafe { ::std::ptr::addr_of!((*ptr).plane) as usize - ptr as usize },
7661        0usize,
7662        concat!(
7663            "Offset of field: ",
7664            stringify!(AVComponentDescriptor),
7665            "::",
7666            stringify!(plane)
7667        )
7668    );
7669    assert_eq!(
7670        unsafe { ::std::ptr::addr_of!((*ptr).step) as usize - ptr as usize },
7671        4usize,
7672        concat!(
7673            "Offset of field: ",
7674            stringify!(AVComponentDescriptor),
7675            "::",
7676            stringify!(step)
7677        )
7678    );
7679    assert_eq!(
7680        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
7681        8usize,
7682        concat!(
7683            "Offset of field: ",
7684            stringify!(AVComponentDescriptor),
7685            "::",
7686            stringify!(offset)
7687        )
7688    );
7689    assert_eq!(
7690        unsafe { ::std::ptr::addr_of!((*ptr).shift) as usize - ptr as usize },
7691        12usize,
7692        concat!(
7693            "Offset of field: ",
7694            stringify!(AVComponentDescriptor),
7695            "::",
7696            stringify!(shift)
7697        )
7698    );
7699    assert_eq!(
7700        unsafe { ::std::ptr::addr_of!((*ptr).depth) as usize - ptr as usize },
7701        16usize,
7702        concat!(
7703            "Offset of field: ",
7704            stringify!(AVComponentDescriptor),
7705            "::",
7706            stringify!(depth)
7707        )
7708    );
7709}
7710#[repr(C)]
7711#[derive(Debug, Copy, Clone)]
7712pub struct AVPixFmtDescriptor {
7713    pub name: *const ::std::os::raw::c_char,
7714    pub nb_components: u8,
7715    pub log2_chroma_w: u8,
7716    pub log2_chroma_h: u8,
7717    pub flags: u64,
7718    pub comp: [AVComponentDescriptor; 4usize],
7719    pub alias: *const ::std::os::raw::c_char,
7720}
7721#[test]
7722fn bindgen_test_layout_AVPixFmtDescriptor() {
7723    const UNINIT: ::std::mem::MaybeUninit<AVPixFmtDescriptor> = ::std::mem::MaybeUninit::uninit();
7724    let ptr = UNINIT.as_ptr();
7725    assert_eq!(
7726        ::std::mem::size_of::<AVPixFmtDescriptor>(),
7727        112usize,
7728        concat!("Size of: ", stringify!(AVPixFmtDescriptor))
7729    );
7730    assert_eq!(
7731        ::std::mem::align_of::<AVPixFmtDescriptor>(),
7732        8usize,
7733        concat!("Alignment of ", stringify!(AVPixFmtDescriptor))
7734    );
7735    assert_eq!(
7736        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
7737        0usize,
7738        concat!(
7739            "Offset of field: ",
7740            stringify!(AVPixFmtDescriptor),
7741            "::",
7742            stringify!(name)
7743        )
7744    );
7745    assert_eq!(
7746        unsafe { ::std::ptr::addr_of!((*ptr).nb_components) as usize - ptr as usize },
7747        8usize,
7748        concat!(
7749            "Offset of field: ",
7750            stringify!(AVPixFmtDescriptor),
7751            "::",
7752            stringify!(nb_components)
7753        )
7754    );
7755    assert_eq!(
7756        unsafe { ::std::ptr::addr_of!((*ptr).log2_chroma_w) as usize - ptr as usize },
7757        9usize,
7758        concat!(
7759            "Offset of field: ",
7760            stringify!(AVPixFmtDescriptor),
7761            "::",
7762            stringify!(log2_chroma_w)
7763        )
7764    );
7765    assert_eq!(
7766        unsafe { ::std::ptr::addr_of!((*ptr).log2_chroma_h) as usize - ptr as usize },
7767        10usize,
7768        concat!(
7769            "Offset of field: ",
7770            stringify!(AVPixFmtDescriptor),
7771            "::",
7772            stringify!(log2_chroma_h)
7773        )
7774    );
7775    assert_eq!(
7776        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
7777        16usize,
7778        concat!(
7779            "Offset of field: ",
7780            stringify!(AVPixFmtDescriptor),
7781            "::",
7782            stringify!(flags)
7783        )
7784    );
7785    assert_eq!(
7786        unsafe { ::std::ptr::addr_of!((*ptr).comp) as usize - ptr as usize },
7787        24usize,
7788        concat!(
7789            "Offset of field: ",
7790            stringify!(AVPixFmtDescriptor),
7791            "::",
7792            stringify!(comp)
7793        )
7794    );
7795    assert_eq!(
7796        unsafe { ::std::ptr::addr_of!((*ptr).alias) as usize - ptr as usize },
7797        104usize,
7798        concat!(
7799            "Offset of field: ",
7800            stringify!(AVPixFmtDescriptor),
7801            "::",
7802            stringify!(alias)
7803        )
7804    );
7805}
7806extern "C" {
7807    pub fn av_get_bits_per_pixel(pixdesc: *const AVPixFmtDescriptor) -> ::std::os::raw::c_int;
7808}
7809extern "C" {
7810    pub fn av_get_padded_bits_per_pixel(
7811        pixdesc: *const AVPixFmtDescriptor,
7812    ) -> ::std::os::raw::c_int;
7813}
7814extern "C" {
7815    pub fn av_pix_fmt_desc_get(pix_fmt: AVPixelFormat) -> *const AVPixFmtDescriptor;
7816}
7817extern "C" {
7818    pub fn av_pix_fmt_desc_next(prev: *const AVPixFmtDescriptor) -> *const AVPixFmtDescriptor;
7819}
7820extern "C" {
7821    pub fn av_pix_fmt_desc_get_id(desc: *const AVPixFmtDescriptor) -> AVPixelFormat;
7822}
7823extern "C" {
7824    pub fn av_pix_fmt_get_chroma_sub_sample(
7825        pix_fmt: AVPixelFormat,
7826        h_shift: *mut ::std::os::raw::c_int,
7827        v_shift: *mut ::std::os::raw::c_int,
7828    ) -> ::std::os::raw::c_int;
7829}
7830extern "C" {
7831    pub fn av_pix_fmt_count_planes(pix_fmt: AVPixelFormat) -> ::std::os::raw::c_int;
7832}
7833extern "C" {
7834    pub fn av_color_range_name(range: AVColorRange) -> *const ::std::os::raw::c_char;
7835}
7836extern "C" {
7837    pub fn av_color_range_from_name(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7838}
7839extern "C" {
7840    pub fn av_color_primaries_name(primaries: AVColorPrimaries) -> *const ::std::os::raw::c_char;
7841}
7842extern "C" {
7843    pub fn av_color_primaries_from_name(
7844        name: *const ::std::os::raw::c_char,
7845    ) -> ::std::os::raw::c_int;
7846}
7847extern "C" {
7848    pub fn av_color_transfer_name(
7849        transfer: AVColorTransferCharacteristic,
7850    ) -> *const ::std::os::raw::c_char;
7851}
7852extern "C" {
7853    pub fn av_color_transfer_from_name(
7854        name: *const ::std::os::raw::c_char,
7855    ) -> ::std::os::raw::c_int;
7856}
7857extern "C" {
7858    pub fn av_color_space_name(space: AVColorSpace) -> *const ::std::os::raw::c_char;
7859}
7860extern "C" {
7861    pub fn av_color_space_from_name(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7862}
7863extern "C" {
7864    pub fn av_chroma_location_name(location: AVChromaLocation) -> *const ::std::os::raw::c_char;
7865}
7866extern "C" {
7867    pub fn av_chroma_location_from_name(
7868        name: *const ::std::os::raw::c_char,
7869    ) -> ::std::os::raw::c_int;
7870}
7871extern "C" {
7872    pub fn av_chroma_location_enum_to_pos(
7873        xpos: *mut ::std::os::raw::c_int,
7874        ypos: *mut ::std::os::raw::c_int,
7875        pos: AVChromaLocation,
7876    ) -> ::std::os::raw::c_int;
7877}
7878extern "C" {
7879    pub fn av_chroma_location_pos_to_enum(
7880        xpos: ::std::os::raw::c_int,
7881        ypos: ::std::os::raw::c_int,
7882    ) -> AVChromaLocation;
7883}
7884extern "C" {
7885    pub fn av_get_pix_fmt(name: *const ::std::os::raw::c_char) -> AVPixelFormat;
7886}
7887extern "C" {
7888    pub fn av_get_pix_fmt_name(pix_fmt: AVPixelFormat) -> *const ::std::os::raw::c_char;
7889}
7890extern "C" {
7891    pub fn av_get_pix_fmt_string(
7892        buf: *mut ::std::os::raw::c_char,
7893        buf_size: ::std::os::raw::c_int,
7894        pix_fmt: AVPixelFormat,
7895    ) -> *mut ::std::os::raw::c_char;
7896}
7897extern "C" {
7898    pub fn av_read_image_line2(
7899        dst: *mut ::std::os::raw::c_void,
7900        data: *mut *const u8,
7901        linesize: *const ::std::os::raw::c_int,
7902        desc: *const AVPixFmtDescriptor,
7903        x: ::std::os::raw::c_int,
7904        y: ::std::os::raw::c_int,
7905        c: ::std::os::raw::c_int,
7906        w: ::std::os::raw::c_int,
7907        read_pal_component: ::std::os::raw::c_int,
7908        dst_element_size: ::std::os::raw::c_int,
7909    );
7910}
7911extern "C" {
7912    pub fn av_read_image_line(
7913        dst: *mut u16,
7914        data: *mut *const u8,
7915        linesize: *const ::std::os::raw::c_int,
7916        desc: *const AVPixFmtDescriptor,
7917        x: ::std::os::raw::c_int,
7918        y: ::std::os::raw::c_int,
7919        c: ::std::os::raw::c_int,
7920        w: ::std::os::raw::c_int,
7921        read_pal_component: ::std::os::raw::c_int,
7922    );
7923}
7924extern "C" {
7925    pub fn av_write_image_line2(
7926        src: *const ::std::os::raw::c_void,
7927        data: *mut *mut u8,
7928        linesize: *const ::std::os::raw::c_int,
7929        desc: *const AVPixFmtDescriptor,
7930        x: ::std::os::raw::c_int,
7931        y: ::std::os::raw::c_int,
7932        c: ::std::os::raw::c_int,
7933        w: ::std::os::raw::c_int,
7934        src_element_size: ::std::os::raw::c_int,
7935    );
7936}
7937extern "C" {
7938    pub fn av_write_image_line(
7939        src: *const u16,
7940        data: *mut *mut u8,
7941        linesize: *const ::std::os::raw::c_int,
7942        desc: *const AVPixFmtDescriptor,
7943        x: ::std::os::raw::c_int,
7944        y: ::std::os::raw::c_int,
7945        c: ::std::os::raw::c_int,
7946        w: ::std::os::raw::c_int,
7947    );
7948}
7949extern "C" {
7950    pub fn av_pix_fmt_swap_endianness(pix_fmt: AVPixelFormat) -> AVPixelFormat;
7951}
7952extern "C" {
7953    pub fn av_get_pix_fmt_loss(
7954        dst_pix_fmt: AVPixelFormat,
7955        src_pix_fmt: AVPixelFormat,
7956        has_alpha: ::std::os::raw::c_int,
7957    ) -> ::std::os::raw::c_int;
7958}
7959extern "C" {
7960    pub fn av_find_best_pix_fmt_of_2(
7961        dst_pix_fmt1: AVPixelFormat,
7962        dst_pix_fmt2: AVPixelFormat,
7963        src_pix_fmt: AVPixelFormat,
7964        has_alpha: ::std::os::raw::c_int,
7965        loss_ptr: *mut ::std::os::raw::c_int,
7966    ) -> AVPixelFormat;
7967}
7968extern "C" {
7969    pub fn av_image_fill_max_pixsteps(
7970        max_pixsteps: *mut ::std::os::raw::c_int,
7971        max_pixstep_comps: *mut ::std::os::raw::c_int,
7972        pixdesc: *const AVPixFmtDescriptor,
7973    );
7974}
7975extern "C" {
7976    pub fn av_image_get_linesize(
7977        pix_fmt: AVPixelFormat,
7978        width: ::std::os::raw::c_int,
7979        plane: ::std::os::raw::c_int,
7980    ) -> ::std::os::raw::c_int;
7981}
7982extern "C" {
7983    pub fn av_image_fill_linesizes(
7984        linesizes: *mut ::std::os::raw::c_int,
7985        pix_fmt: AVPixelFormat,
7986        width: ::std::os::raw::c_int,
7987    ) -> ::std::os::raw::c_int;
7988}
7989extern "C" {
7990    pub fn av_image_fill_plane_sizes(
7991        size: *mut usize,
7992        pix_fmt: AVPixelFormat,
7993        height: ::std::os::raw::c_int,
7994        linesizes: *const isize,
7995    ) -> ::std::os::raw::c_int;
7996}
7997extern "C" {
7998    pub fn av_image_fill_pointers(
7999        data: *mut *mut u8,
8000        pix_fmt: AVPixelFormat,
8001        height: ::std::os::raw::c_int,
8002        ptr: *mut u8,
8003        linesizes: *const ::std::os::raw::c_int,
8004    ) -> ::std::os::raw::c_int;
8005}
8006extern "C" {
8007    pub fn av_image_alloc(
8008        pointers: *mut *mut u8,
8009        linesizes: *mut ::std::os::raw::c_int,
8010        w: ::std::os::raw::c_int,
8011        h: ::std::os::raw::c_int,
8012        pix_fmt: AVPixelFormat,
8013        align: ::std::os::raw::c_int,
8014    ) -> ::std::os::raw::c_int;
8015}
8016extern "C" {
8017    pub fn av_image_copy_plane(
8018        dst: *mut u8,
8019        dst_linesize: ::std::os::raw::c_int,
8020        src: *const u8,
8021        src_linesize: ::std::os::raw::c_int,
8022        bytewidth: ::std::os::raw::c_int,
8023        height: ::std::os::raw::c_int,
8024    );
8025}
8026extern "C" {
8027    pub fn av_image_copy_plane_uc_from(
8028        dst: *mut u8,
8029        dst_linesize: isize,
8030        src: *const u8,
8031        src_linesize: isize,
8032        bytewidth: isize,
8033        height: ::std::os::raw::c_int,
8034    );
8035}
8036extern "C" {
8037    pub fn av_image_copy(
8038        dst_data: *const *mut u8,
8039        dst_linesizes: *const ::std::os::raw::c_int,
8040        src_data: *const *const u8,
8041        src_linesizes: *const ::std::os::raw::c_int,
8042        pix_fmt: AVPixelFormat,
8043        width: ::std::os::raw::c_int,
8044        height: ::std::os::raw::c_int,
8045    );
8046}
8047extern "C" {
8048    pub fn av_image_copy_uc_from(
8049        dst_data: *const *mut u8,
8050        dst_linesizes: *const isize,
8051        src_data: *const *const u8,
8052        src_linesizes: *const isize,
8053        pix_fmt: AVPixelFormat,
8054        width: ::std::os::raw::c_int,
8055        height: ::std::os::raw::c_int,
8056    );
8057}
8058extern "C" {
8059    pub fn av_image_fill_arrays(
8060        dst_data: *mut *mut u8,
8061        dst_linesize: *mut ::std::os::raw::c_int,
8062        src: *const u8,
8063        pix_fmt: AVPixelFormat,
8064        width: ::std::os::raw::c_int,
8065        height: ::std::os::raw::c_int,
8066        align: ::std::os::raw::c_int,
8067    ) -> ::std::os::raw::c_int;
8068}
8069extern "C" {
8070    pub fn av_image_get_buffer_size(
8071        pix_fmt: AVPixelFormat,
8072        width: ::std::os::raw::c_int,
8073        height: ::std::os::raw::c_int,
8074        align: ::std::os::raw::c_int,
8075    ) -> ::std::os::raw::c_int;
8076}
8077extern "C" {
8078    pub fn av_image_copy_to_buffer(
8079        dst: *mut u8,
8080        dst_size: ::std::os::raw::c_int,
8081        src_data: *const *const u8,
8082        src_linesize: *const ::std::os::raw::c_int,
8083        pix_fmt: AVPixelFormat,
8084        width: ::std::os::raw::c_int,
8085        height: ::std::os::raw::c_int,
8086        align: ::std::os::raw::c_int,
8087    ) -> ::std::os::raw::c_int;
8088}
8089extern "C" {
8090    pub fn av_image_check_size(
8091        w: ::std::os::raw::c_uint,
8092        h: ::std::os::raw::c_uint,
8093        log_offset: ::std::os::raw::c_int,
8094        log_ctx: *mut ::std::os::raw::c_void,
8095    ) -> ::std::os::raw::c_int;
8096}
8097extern "C" {
8098    pub fn av_image_check_size2(
8099        w: ::std::os::raw::c_uint,
8100        h: ::std::os::raw::c_uint,
8101        max_pixels: i64,
8102        pix_fmt: AVPixelFormat,
8103        log_offset: ::std::os::raw::c_int,
8104        log_ctx: *mut ::std::os::raw::c_void,
8105    ) -> ::std::os::raw::c_int;
8106}
8107extern "C" {
8108    pub fn av_image_check_sar(
8109        w: ::std::os::raw::c_uint,
8110        h: ::std::os::raw::c_uint,
8111        sar: AVRational,
8112    ) -> ::std::os::raw::c_int;
8113}
8114extern "C" {
8115    pub fn av_image_fill_black(
8116        dst_data: *const *mut u8,
8117        dst_linesize: *const isize,
8118        pix_fmt: AVPixelFormat,
8119        range: AVColorRange,
8120        width: ::std::os::raw::c_int,
8121        height: ::std::os::raw::c_int,
8122    ) -> ::std::os::raw::c_int;
8123}
8124extern "C" {
8125    pub fn av_image_fill_color(
8126        dst_data: *const *mut u8,
8127        dst_linesize: *const isize,
8128        pix_fmt: AVPixelFormat,
8129        color: *const u32,
8130        width: ::std::os::raw::c_int,
8131        height: ::std::os::raw::c_int,
8132        flags: ::std::os::raw::c_int,
8133    ) -> ::std::os::raw::c_int;
8134}
8135extern "C" {
8136    pub fn sws_getCoefficients(colorspace: ::std::os::raw::c_int) -> *const ::std::os::raw::c_int;
8137}
8138#[repr(C)]
8139#[derive(Debug, Copy, Clone)]
8140pub struct SwsVector {
8141    pub coeff: *mut f64,
8142    pub length: ::std::os::raw::c_int,
8143}
8144#[test]
8145fn bindgen_test_layout_SwsVector() {
8146    const UNINIT: ::std::mem::MaybeUninit<SwsVector> = ::std::mem::MaybeUninit::uninit();
8147    let ptr = UNINIT.as_ptr();
8148    assert_eq!(
8149        ::std::mem::size_of::<SwsVector>(),
8150        16usize,
8151        concat!("Size of: ", stringify!(SwsVector))
8152    );
8153    assert_eq!(
8154        ::std::mem::align_of::<SwsVector>(),
8155        8usize,
8156        concat!("Alignment of ", stringify!(SwsVector))
8157    );
8158    assert_eq!(
8159        unsafe { ::std::ptr::addr_of!((*ptr).coeff) as usize - ptr as usize },
8160        0usize,
8161        concat!(
8162            "Offset of field: ",
8163            stringify!(SwsVector),
8164            "::",
8165            stringify!(coeff)
8166        )
8167    );
8168    assert_eq!(
8169        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
8170        8usize,
8171        concat!(
8172            "Offset of field: ",
8173            stringify!(SwsVector),
8174            "::",
8175            stringify!(length)
8176        )
8177    );
8178}
8179#[repr(C)]
8180#[derive(Debug, Copy, Clone)]
8181pub struct SwsFilter {
8182    pub lumH: *mut SwsVector,
8183    pub lumV: *mut SwsVector,
8184    pub chrH: *mut SwsVector,
8185    pub chrV: *mut SwsVector,
8186}
8187#[test]
8188fn bindgen_test_layout_SwsFilter() {
8189    const UNINIT: ::std::mem::MaybeUninit<SwsFilter> = ::std::mem::MaybeUninit::uninit();
8190    let ptr = UNINIT.as_ptr();
8191    assert_eq!(
8192        ::std::mem::size_of::<SwsFilter>(),
8193        32usize,
8194        concat!("Size of: ", stringify!(SwsFilter))
8195    );
8196    assert_eq!(
8197        ::std::mem::align_of::<SwsFilter>(),
8198        8usize,
8199        concat!("Alignment of ", stringify!(SwsFilter))
8200    );
8201    assert_eq!(
8202        unsafe { ::std::ptr::addr_of!((*ptr).lumH) as usize - ptr as usize },
8203        0usize,
8204        concat!(
8205            "Offset of field: ",
8206            stringify!(SwsFilter),
8207            "::",
8208            stringify!(lumH)
8209        )
8210    );
8211    assert_eq!(
8212        unsafe { ::std::ptr::addr_of!((*ptr).lumV) as usize - ptr as usize },
8213        8usize,
8214        concat!(
8215            "Offset of field: ",
8216            stringify!(SwsFilter),
8217            "::",
8218            stringify!(lumV)
8219        )
8220    );
8221    assert_eq!(
8222        unsafe { ::std::ptr::addr_of!((*ptr).chrH) as usize - ptr as usize },
8223        16usize,
8224        concat!(
8225            "Offset of field: ",
8226            stringify!(SwsFilter),
8227            "::",
8228            stringify!(chrH)
8229        )
8230    );
8231    assert_eq!(
8232        unsafe { ::std::ptr::addr_of!((*ptr).chrV) as usize - ptr as usize },
8233        24usize,
8234        concat!(
8235            "Offset of field: ",
8236            stringify!(SwsFilter),
8237            "::",
8238            stringify!(chrV)
8239        )
8240    );
8241}
8242#[repr(C)]
8243#[derive(Debug, Copy, Clone)]
8244pub struct SwsContext {
8245    _unused: [u8; 0],
8246}
8247extern "C" {
8248    pub fn sws_isSupportedInput(pix_fmt: AVPixelFormat) -> ::std::os::raw::c_int;
8249}
8250extern "C" {
8251    pub fn sws_isSupportedOutput(pix_fmt: AVPixelFormat) -> ::std::os::raw::c_int;
8252}
8253extern "C" {
8254    pub fn sws_isSupportedEndiannessConversion(pix_fmt: AVPixelFormat) -> ::std::os::raw::c_int;
8255}
8256extern "C" {
8257    pub fn sws_alloc_context() -> *mut SwsContext;
8258}
8259extern "C" {
8260    pub fn sws_init_context(
8261        sws_context: *mut SwsContext,
8262        srcFilter: *mut SwsFilter,
8263        dstFilter: *mut SwsFilter,
8264    ) -> ::std::os::raw::c_int;
8265}
8266extern "C" {
8267    pub fn sws_freeContext(swsContext: *mut SwsContext);
8268}
8269extern "C" {
8270    pub fn sws_getContext(
8271        srcW: ::std::os::raw::c_int,
8272        srcH: ::std::os::raw::c_int,
8273        srcFormat: AVPixelFormat,
8274        dstW: ::std::os::raw::c_int,
8275        dstH: ::std::os::raw::c_int,
8276        dstFormat: AVPixelFormat,
8277        flags: ::std::os::raw::c_int,
8278        srcFilter: *mut SwsFilter,
8279        dstFilter: *mut SwsFilter,
8280        param: *const f64,
8281    ) -> *mut SwsContext;
8282}
8283extern "C" {
8284    pub fn sws_scale(
8285        c: *mut SwsContext,
8286        srcSlice: *const *const u8,
8287        srcStride: *const ::std::os::raw::c_int,
8288        srcSliceY: ::std::os::raw::c_int,
8289        srcSliceH: ::std::os::raw::c_int,
8290        dst: *const *mut u8,
8291        dstStride: *const ::std::os::raw::c_int,
8292    ) -> ::std::os::raw::c_int;
8293}
8294extern "C" {
8295    pub fn sws_scale_frame(
8296        c: *mut SwsContext,
8297        dst: *mut AVFrame,
8298        src: *const AVFrame,
8299    ) -> ::std::os::raw::c_int;
8300}
8301extern "C" {
8302    pub fn sws_frame_start(
8303        c: *mut SwsContext,
8304        dst: *mut AVFrame,
8305        src: *const AVFrame,
8306    ) -> ::std::os::raw::c_int;
8307}
8308extern "C" {
8309    pub fn sws_frame_end(c: *mut SwsContext);
8310}
8311extern "C" {
8312    pub fn sws_send_slice(
8313        c: *mut SwsContext,
8314        slice_start: ::std::os::raw::c_uint,
8315        slice_height: ::std::os::raw::c_uint,
8316    ) -> ::std::os::raw::c_int;
8317}
8318extern "C" {
8319    pub fn sws_receive_slice(
8320        c: *mut SwsContext,
8321        slice_start: ::std::os::raw::c_uint,
8322        slice_height: ::std::os::raw::c_uint,
8323    ) -> ::std::os::raw::c_int;
8324}
8325extern "C" {
8326    pub fn sws_receive_slice_alignment(c: *const SwsContext) -> ::std::os::raw::c_uint;
8327}
8328extern "C" {
8329    pub fn sws_setColorspaceDetails(
8330        c: *mut SwsContext,
8331        inv_table: *const ::std::os::raw::c_int,
8332        srcRange: ::std::os::raw::c_int,
8333        table: *const ::std::os::raw::c_int,
8334        dstRange: ::std::os::raw::c_int,
8335        brightness: ::std::os::raw::c_int,
8336        contrast: ::std::os::raw::c_int,
8337        saturation: ::std::os::raw::c_int,
8338    ) -> ::std::os::raw::c_int;
8339}
8340extern "C" {
8341    pub fn sws_getColorspaceDetails(
8342        c: *mut SwsContext,
8343        inv_table: *mut *mut ::std::os::raw::c_int,
8344        srcRange: *mut ::std::os::raw::c_int,
8345        table: *mut *mut ::std::os::raw::c_int,
8346        dstRange: *mut ::std::os::raw::c_int,
8347        brightness: *mut ::std::os::raw::c_int,
8348        contrast: *mut ::std::os::raw::c_int,
8349        saturation: *mut ::std::os::raw::c_int,
8350    ) -> ::std::os::raw::c_int;
8351}
8352extern "C" {
8353    pub fn sws_allocVec(length: ::std::os::raw::c_int) -> *mut SwsVector;
8354}
8355extern "C" {
8356    pub fn sws_getGaussianVec(variance: f64, quality: f64) -> *mut SwsVector;
8357}
8358extern "C" {
8359    pub fn sws_scaleVec(a: *mut SwsVector, scalar: f64);
8360}
8361extern "C" {
8362    pub fn sws_normalizeVec(a: *mut SwsVector, height: f64);
8363}
8364extern "C" {
8365    pub fn sws_freeVec(a: *mut SwsVector);
8366}
8367extern "C" {
8368    pub fn sws_getDefaultFilter(
8369        lumaGBlur: f32,
8370        chromaGBlur: f32,
8371        lumaSharpen: f32,
8372        chromaSharpen: f32,
8373        chromaHShift: f32,
8374        chromaVShift: f32,
8375        verbose: ::std::os::raw::c_int,
8376    ) -> *mut SwsFilter;
8377}
8378extern "C" {
8379    pub fn sws_freeFilter(filter: *mut SwsFilter);
8380}
8381extern "C" {
8382    pub fn sws_getCachedContext(
8383        context: *mut SwsContext,
8384        srcW: ::std::os::raw::c_int,
8385        srcH: ::std::os::raw::c_int,
8386        srcFormat: AVPixelFormat,
8387        dstW: ::std::os::raw::c_int,
8388        dstH: ::std::os::raw::c_int,
8389        dstFormat: AVPixelFormat,
8390        flags: ::std::os::raw::c_int,
8391        srcFilter: *mut SwsFilter,
8392        dstFilter: *mut SwsFilter,
8393        param: *const f64,
8394    ) -> *mut SwsContext;
8395}
8396extern "C" {
8397    pub fn sws_convertPalette8ToPacked32(
8398        src: *const u8,
8399        dst: *mut u8,
8400        num_pixels: ::std::os::raw::c_int,
8401        palette: *const u8,
8402    );
8403}
8404extern "C" {
8405    pub fn sws_convertPalette8ToPacked24(
8406        src: *const u8,
8407        dst: *mut u8,
8408        num_pixels: ::std::os::raw::c_int,
8409        palette: *const u8,
8410    );
8411}
8412extern "C" {
8413    pub fn sws_get_class() -> *const AVClass;
8414}
8415#[repr(C)]
8416#[derive(Debug, Copy, Clone)]
8417pub struct AVOption {
8418    pub _address: u8,
8419}
8420#[repr(C)]
8421#[derive(Debug, Copy, Clone)]
8422pub struct AVCodecInternal {
8423    pub _address: u8,
8424}