1use std::os::raw::{c_char, c_int, c_uint, c_void};
14use std::ptr;
15
16pub type AVCodecID = c_uint;
19pub type AVPixelFormat = c_int;
20pub type AVSampleFormat = c_int;
21pub type AVMediaType = c_int;
22pub type AVColorPrimaries = c_uint;
23pub type AVColorRange = c_uint;
24pub type AVColorSpace = c_uint;
25pub type AVHWDeviceType = c_int;
26pub type AVChannelOrder = c_uint;
27pub type AVPictureType = c_int;
28
29pub struct AVDictionary(());
32pub struct SwsContext(());
33pub struct SwrContext(());
34pub struct AVBufferRef(());
35pub struct AVIOContext(());
36pub struct AVOutputFormat(());
37pub struct AVAudioFifo(());
38
39pub struct AVInputFormat {
40 pub name: *const c_char,
41 pub long_name: *const c_char,
42 pub flags: c_int,
43}
44
45#[derive(Copy, Clone)]
48#[repr(C)]
49pub union AVChannelLayout__bindgen_ty_1 {
50 pub mask: u64,
51}
52
53impl Default for AVChannelLayout__bindgen_ty_1 {
54 fn default() -> Self {
55 Self { mask: 0 }
56 }
57}
58
59#[derive(Copy, Clone)]
60pub struct AVChannelLayout {
61 pub order: AVChannelOrder,
62 pub nb_channels: c_int,
63 pub u: AVChannelLayout__bindgen_ty_1,
64}
65
66impl Default for AVChannelLayout {
67 fn default() -> Self {
68 Self {
69 order: 0,
70 nb_channels: 0,
71 u: AVChannelLayout__bindgen_ty_1::default(),
72 }
73 }
74}
75
76#[derive(Copy, Clone)]
77pub struct AVRational {
78 pub num: c_int,
79 pub den: c_int,
80}
81
82pub struct AVDictionaryEntry {
83 pub key: *mut c_char,
84 pub value: *mut c_char,
85}
86
87pub struct AVChapter {
88 pub id: i64,
89 pub time_base: AVRational,
90 pub start: i64,
91 pub end: i64,
92 pub metadata: *mut AVDictionary,
93}
94
95pub struct AVCodecParameters {
96 pub codec_type: AVMediaType,
97 pub codec_id: AVCodecID,
98 pub codec_tag: c_uint,
99 pub extradata: *mut u8,
100 pub extradata_size: c_int,
101 pub format: c_int,
102 pub bit_rate: i64,
103 pub width: c_int,
104 pub height: c_int,
105 pub sample_rate: c_int,
106 pub ch_layout: AVChannelLayout,
107 pub sample_fmt: AVSampleFormat,
108 pub color_space: AVColorSpace,
109 pub color_range: AVColorRange,
110 pub color_primaries: AVColorPrimaries,
111}
112
113pub struct AVStream {
114 pub codecpar: *mut AVCodecParameters,
115 pub nb_frames: i64,
116 pub duration: i64,
117 pub time_base: AVRational,
118 pub avg_frame_rate: AVRational,
119 pub r_frame_rate: AVRational,
120 pub start_time: i64,
121 pub disposition: c_int,
122 pub metadata: *mut AVDictionary,
123}
124
125pub struct AVFormatContext {
126 pub nb_streams: c_uint,
127 pub streams: *mut *mut AVStream,
128 pub duration: i64,
129 pub metadata: *mut AVDictionary,
130 pub nb_chapters: c_uint,
131 pub chapters: *mut *mut AVChapter,
132 pub iformat: *mut AVInputFormat,
133 pub bit_rate: i64,
134 pub pb: *mut AVIOContext,
135 pub priv_data: *mut c_void,
136}
137
138pub struct AVFrame {
139 pub data: [*mut u8; 8],
140 pub linesize: [c_int; 8],
141 pub width: c_int,
142 pub height: c_int,
143 pub nb_samples: c_int,
144 pub format: c_int,
145 pub key_frame: c_int,
146 pub pict_type: AVPictureType,
147 pub pts: i64,
148 pub pkt_dts: i64,
149 pub sample_rate: c_int,
150 pub ch_layout: AVChannelLayout,
151 pub duration: i64,
152 pub time_base: AVRational,
153 pub hw_frames_ctx: *mut AVBufferRef,
154 pub metadata: *mut AVDictionary,
155}
156
157pub struct AVPacket {
158 pub pts: i64,
159 pub dts: i64,
160 pub data: *mut u8,
161 pub size: c_int,
162 pub stream_index: c_int,
163 pub flags: c_int,
164 pub duration: i64,
165}
166
167pub type AVColorTransferCharacteristic = c_uint;
168
169pub struct AVCodecContext {
170 pub codec_id: AVCodecID,
171 pub bit_rate: i64,
172 pub width: c_int,
173 pub height: c_int,
174 pub pix_fmt: AVPixelFormat,
175 pub sample_rate: c_int,
176 pub ch_layout: AVChannelLayout,
177 pub sample_fmt: AVSampleFormat,
178 pub time_base: AVRational,
179 pub framerate: AVRational,
180 pub gop_size: c_int,
181 pub max_b_frames: c_int,
182 pub qmin: c_int,
183 pub qmax: c_int,
184 pub thread_count: c_int,
185 pub hw_device_ctx: *mut AVBufferRef,
186 pub hw_frames_ctx: *mut AVBufferRef,
187 pub priv_data: *mut c_void,
188 pub color_primaries: AVColorPrimaries,
189 pub color_trc: AVColorTransferCharacteristic,
190 pub colorspace: AVColorSpace,
191 pub frame_size: c_int,
193 pub color_range: AVColorRange,
194 pub refs: c_int,
195 pub rc_max_rate: i64,
196 pub rc_buffer_size: c_int,
197 pub flags: c_int,
198 pub stats_out: *mut c_char,
199 pub stats_in: *mut c_char,
200}
201
202pub struct AVCodec {
203 pub id: AVCodecID,
204 pub sample_fmts: *const AVSampleFormat,
205 pub capabilities: c_int,
206}
207
208pub const AV_DICT_IGNORE_SUFFIX: u32 = 2;
211pub const AV_NUM_DATA_POINTERS: usize = 8;
212pub const AV_TIME_BASE: u32 = 1_000_000;
213
214pub const AVMediaType_AVMEDIA_TYPE_VIDEO: AVMediaType = 0;
215pub const AVMediaType_AVMEDIA_TYPE_AUDIO: AVMediaType = 1;
216pub const AVMediaType_AVMEDIA_TYPE_SUBTITLE: AVMediaType = 3;
217pub const AVMediaType_AVMEDIA_TYPE_ATTACHMENT: AVMediaType = 4;
218
219pub const AV_DISPOSITION_FORCED: u32 = 0x0040;
220pub const AV_DISPOSITION_ATTACHED_PIC: u32 = 0x0400;
221pub const AV_INPUT_BUFFER_PADDING_SIZE: u32 = 64;
222
223pub const AVChannelOrder_AV_CHANNEL_ORDER_UNSPEC: AVChannelOrder = 0;
224pub const AVChannelOrder_AV_CHANNEL_ORDER_NATIVE: AVChannelOrder = 1;
225
226pub const AVCodecID_AV_CODEC_ID_NONE: AVCodecID = 0;
228pub const AVCodecID_AV_CODEC_ID_MPEG2VIDEO: AVCodecID = 2;
229pub const AVCodecID_AV_CODEC_ID_MJPEG: AVCodecID = 7;
230pub const AVCodecID_AV_CODEC_ID_MPEG4: AVCodecID = 13;
231pub const AVCodecID_AV_CODEC_ID_H264: AVCodecID = 27;
232pub const AVCodecID_AV_CODEC_ID_THEORA: AVCodecID = 30;
233pub const AVCodecID_AV_CODEC_ID_VP8: AVCodecID = 139;
234pub const AVCodecID_AV_CODEC_ID_PRORES: AVCodecID = 147;
235pub const AVCodecID_AV_CODEC_ID_VP9: AVCodecID = 167;
236pub const AVCodecID_AV_CODEC_ID_HEVC: AVCodecID = 173;
237pub const AVCodecID_AV_CODEC_ID_AV1: AVCodecID = 226;
238pub const AVCodecID_AV_CODEC_ID_DNXHD: AVCodecID = 99;
239pub const AVCodecID_AV_CODEC_ID_FFV1: AVCodecID = 33;
240
241pub const AVCodecID_AV_CODEC_ID_PNG: AVCodecID = 61;
243pub const AVCodecID_AV_CODEC_ID_BMP: AVCodecID = 76;
244pub const AVCodecID_AV_CODEC_ID_TIFF: AVCodecID = 90;
245pub const AVCodecID_AV_CODEC_ID_WEBP: AVCodecID = 219;
246pub const AVCodecID_AV_CODEC_ID_EXR: AVCodecID = 178;
247
248pub const AVCodecID_AV_CODEC_ID_GIF: AVCodecID = 97;
250
251pub const AVCodecID_AV_CODEC_ID_DVB_SUBTITLE: AVCodecID = 94209;
253pub const AVCodecID_AV_CODEC_ID_SSA: AVCodecID = 94212;
254pub const AVCodecID_AV_CODEC_ID_HDMV_PGS_SUBTITLE: AVCodecID = 94214;
255pub const AVCodecID_AV_CODEC_ID_SRT: AVCodecID = 94216;
256pub const AVCodecID_AV_CODEC_ID_SUBRIP: AVCodecID = 94248;
257pub const AVCodecID_AV_CODEC_ID_WEBVTT: AVCodecID = 94249;
258pub const AVCodecID_AV_CODEC_ID_ASS: AVCodecID = 94253;
259
260pub const AVCodecID_AV_CODEC_ID_BIN_DATA: AVCodecID = 98314;
262
263pub const AVCodecID_AV_CODEC_ID_PCM_S16LE: AVCodecID = 65536;
265pub const AVCodecID_AV_CODEC_ID_PCM_S16BE: AVCodecID = 65537;
266pub const AVCodecID_AV_CODEC_ID_PCM_U8: AVCodecID = 65542;
267pub const AVCodecID_AV_CODEC_ID_PCM_S24LE: AVCodecID = 65544;
268pub const AVCodecID_AV_CODEC_ID_PCM_S24BE: AVCodecID = 65545;
269pub const AVCodecID_AV_CODEC_ID_PCM_S32LE: AVCodecID = 65556;
270pub const AVCodecID_AV_CODEC_ID_PCM_S32BE: AVCodecID = 65557;
271pub const AVCodecID_AV_CODEC_ID_PCM_F32LE: AVCodecID = 65558;
272pub const AVCodecID_AV_CODEC_ID_PCM_F32BE: AVCodecID = 65559;
273pub const AVCodecID_AV_CODEC_ID_PCM_F64LE: AVCodecID = 65560;
274pub const AVCodecID_AV_CODEC_ID_PCM_F64BE: AVCodecID = 65561;
275pub const AVCodecID_AV_CODEC_ID_MP3: AVCodecID = 86017;
276pub const AVCodecID_AV_CODEC_ID_AAC: AVCodecID = 86018;
277pub const AVCodecID_AV_CODEC_ID_AC3: AVCodecID = 86019;
278pub const AVCodecID_AV_CODEC_ID_DTS: AVCodecID = 86020;
279pub const AVCodecID_AV_CODEC_ID_VORBIS: AVCodecID = 86021;
280pub const AVCodecID_AV_CODEC_ID_FLAC: AVCodecID = 86028;
281pub const AVCodecID_AV_CODEC_ID_ALAC: AVCodecID = 86032;
282pub const AVCodecID_AV_CODEC_ID_WMAV2: AVCodecID = 86047;
283pub const AVCodecID_AV_CODEC_ID_EAC3: AVCodecID = 86056;
284pub const AVCodecID_AV_CODEC_ID_OPUS: AVCodecID = 86076;
285
286pub const AVPixelFormat_AV_PIX_FMT_NONE: AVPixelFormat = -1;
288pub const AVPixelFormat_AV_PIX_FMT_YUV420P: AVPixelFormat = 0;
289pub const AVPixelFormat_AV_PIX_FMT_RGB24: AVPixelFormat = 2;
290pub const AVPixelFormat_AV_PIX_FMT_BGR24: AVPixelFormat = 3;
291pub const AVPixelFormat_AV_PIX_FMT_YUV422P: AVPixelFormat = 4;
292pub const AVPixelFormat_AV_PIX_FMT_YUV444P: AVPixelFormat = 5;
293pub const AVPixelFormat_AV_PIX_FMT_GRAY8: AVPixelFormat = 8;
294pub const AVPixelFormat_AV_PIX_FMT_PAL8: AVPixelFormat = 77;
295pub const AVPixelFormat_AV_PIX_FMT_NV12: AVPixelFormat = 23;
296pub const AVPixelFormat_AV_PIX_FMT_NV21: AVPixelFormat = 24;
297pub const AVPixelFormat_AV_PIX_FMT_RGBA: AVPixelFormat = 26;
298pub const AVPixelFormat_AV_PIX_FMT_BGRA: AVPixelFormat = 28;
299pub const AVPixelFormat_AV_PIX_FMT_YUVJ420P: AVPixelFormat = 12;
300pub const AVPixelFormat_AV_PIX_FMT_YUVJ422P: AVPixelFormat = 13;
301pub const AVPixelFormat_AV_PIX_FMT_YUVJ444P: AVPixelFormat = 14;
302pub const AVPixelFormat_AV_PIX_FMT_VAAPI: AVPixelFormat = 51;
303pub const AVPixelFormat_AV_PIX_FMT_DXVA2_VLD: AVPixelFormat = 53;
304pub const AV_OPT_SEARCH_CHILDREN: u32 = 1;
305pub const AVPixelFormat_AV_PIX_FMT_YUV420P10LE: AVPixelFormat = 66;
306pub const AVPixelFormat_AV_PIX_FMT_YUV422P10LE: AVPixelFormat = 64;
307pub const AVPixelFormat_AV_PIX_FMT_YUV444P10LE: AVPixelFormat = 68;
308pub const AVPixelFormat_AV_PIX_FMT_YUVA444P10LE: AVPixelFormat = 91;
309pub const AVPixelFormat_AV_PIX_FMT_VDPAU: AVPixelFormat = 101;
310pub const AVPixelFormat_AV_PIX_FMT_CUDA: AVPixelFormat = 119;
311pub const AVPixelFormat_AV_PIX_FMT_QSV: AVPixelFormat = 123;
312pub const AVPixelFormat_AV_PIX_FMT_VIDEOTOOLBOX: AVPixelFormat = 135;
313pub const AVPixelFormat_AV_PIX_FMT_MEDIACODEC: AVPixelFormat = 165;
314pub const AVPixelFormat_AV_PIX_FMT_P010LE: AVPixelFormat = 161;
315pub const AVPixelFormat_AV_PIX_FMT_GBRPF32LE: AVPixelFormat = 175;
316pub const AVPixelFormat_AV_PIX_FMT_D3D11: AVPixelFormat = 174;
317pub const AVPixelFormat_AV_PIX_FMT_OPENCL: AVPixelFormat = 180;
318pub const AVPixelFormat_AV_PIX_FMT_VULKAN: AVPixelFormat = 193;
319
320pub const AVSampleFormat_AV_SAMPLE_FMT_NONE: AVSampleFormat = -1;
322pub const AVSampleFormat_AV_SAMPLE_FMT_U8: AVSampleFormat = 0;
323pub const AVSampleFormat_AV_SAMPLE_FMT_S16: AVSampleFormat = 1;
324pub const AVSampleFormat_AV_SAMPLE_FMT_S32: AVSampleFormat = 2;
325pub const AVSampleFormat_AV_SAMPLE_FMT_FLT: AVSampleFormat = 3;
326pub const AVSampleFormat_AV_SAMPLE_FMT_DBL: AVSampleFormat = 4;
327pub const AVSampleFormat_AV_SAMPLE_FMT_U8P: AVSampleFormat = 5;
328pub const AVSampleFormat_AV_SAMPLE_FMT_S16P: AVSampleFormat = 6;
329pub const AVSampleFormat_AV_SAMPLE_FMT_S32P: AVSampleFormat = 7;
330pub const AVSampleFormat_AV_SAMPLE_FMT_FLTP: AVSampleFormat = 8;
331pub const AVSampleFormat_AV_SAMPLE_FMT_DBLP: AVSampleFormat = 9;
332pub const AVSampleFormat_AV_SAMPLE_FMT_S64: AVSampleFormat = 10;
333pub const AVSampleFormat_AV_SAMPLE_FMT_S64P: AVSampleFormat = 11;
334
335pub const AVColorPrimaries_AVCOL_PRI_BT709: AVColorPrimaries = 1;
337pub const AVColorPrimaries_AVCOL_PRI_UNSPECIFIED: AVColorPrimaries = 2;
338pub const AVColorPrimaries_AVCOL_PRI_BT470BG: AVColorPrimaries = 5;
339pub const AVColorPrimaries_AVCOL_PRI_SMPTE170M: AVColorPrimaries = 6;
340pub const AVColorPrimaries_AVCOL_PRI_BT2020: AVColorPrimaries = 9;
341
342pub const AVColorRange_AVCOL_RANGE_UNSPECIFIED: AVColorRange = 0;
344pub const AVColorRange_AVCOL_RANGE_MPEG: AVColorRange = 1;
345pub const AVColorRange_AVCOL_RANGE_JPEG: AVColorRange = 2;
346
347pub const AVColorSpace_AVCOL_SPC_RGB: AVColorSpace = 0;
349pub const AVColorSpace_AVCOL_SPC_BT709: AVColorSpace = 1;
350pub const AVColorSpace_AVCOL_SPC_UNSPECIFIED: AVColorSpace = 2;
351pub const AVColorSpace_AVCOL_SPC_BT470BG: AVColorSpace = 5;
352pub const AVColorSpace_AVCOL_SPC_SMPTE170M: AVColorSpace = 6;
353pub const AVColorSpace_AVCOL_SPC_BT2020_NCL: AVColorSpace = 9;
354pub const AVColorSpace_AVCOL_SPC_BT2020_CL: AVColorSpace = 10;
355
356pub const AVColorTransferCharacteristic_AVCOL_TRC_BT709: AVColorTransferCharacteristic = 1;
358pub const AVColorTransferCharacteristic_AVCOL_TRC_UNSPECIFIED: AVColorTransferCharacteristic = 2;
359pub const AVColorTransferCharacteristic_AVCOL_TRC_LINEAR: AVColorTransferCharacteristic = 8;
360pub const AVColorTransferCharacteristic_AVCOL_TRC_BT2020_10: AVColorTransferCharacteristic = 14;
361pub const AVColorTransferCharacteristic_AVCOL_TRC_BT2020_12: AVColorTransferCharacteristic = 15;
362pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTEST2084: AVColorTransferCharacteristic = 16;
363pub const AVColorTransferCharacteristic_AVCOL_TRC_ARIB_STD_B67: AVColorTransferCharacteristic = 18;
364
365pub type AVPacketSideDataType = c_uint;
367pub const AVPacketSideDataType_AV_PKT_DATA_MASTERING_DISPLAY_METADATA: AVPacketSideDataType = 20;
368pub const AVPacketSideDataType_AV_PKT_DATA_CONTENT_LIGHT_LEVEL: AVPacketSideDataType = 22;
369
370pub const AVHWDeviceType_AV_HWDEVICE_TYPE_CUDA: AVHWDeviceType = 2;
372pub const AVHWDeviceType_AV_HWDEVICE_TYPE_VAAPI: AVHWDeviceType = 4;
373pub const AVHWDeviceType_AV_HWDEVICE_TYPE_QSV: AVHWDeviceType = 5;
374pub const AVHWDeviceType_AV_HWDEVICE_TYPE_VIDEOTOOLBOX: AVHWDeviceType = 7;
375pub const AVHWDeviceType_AV_HWDEVICE_TYPE_D3D11VA: AVHWDeviceType = 8;
376
377pub const AVPictureType_AV_PICTURE_TYPE_NONE: AVPictureType = 0;
379pub const AVPictureType_AV_PICTURE_TYPE_I: AVPictureType = 1;
380
381pub unsafe fn av_strerror(_errnum: c_int, _errbuf: *mut c_char, _errbuf_size: usize) -> c_int {
388 0
389}
390
391pub unsafe fn av_dict_get(
392 _m: *const AVDictionary,
393 _key: *const c_char,
394 _prev: *const AVDictionaryEntry,
395 _flags: c_int,
396) -> *mut AVDictionaryEntry {
397 std::ptr::null_mut()
398}
399
400pub unsafe fn av_dict_set(
401 _pm: *mut *mut AVDictionary,
402 _key: *const c_char,
403 _value: *const c_char,
404 _flags: c_int,
405) -> c_int {
406 0
407}
408
409pub unsafe fn av_dict_free(_m: *mut *mut AVDictionary) {}
410
411pub unsafe fn av_find_input_format(_short_name: *const c_char) -> *const AVInputFormat {
412 std::ptr::null()
413}
414
415pub unsafe fn avcodec_get_name(_id: AVCodecID) -> *const c_char {
416 std::ptr::null()
417}
418
419pub unsafe fn av_frame_alloc() -> *mut AVFrame {
420 std::ptr::null_mut()
421}
422
423pub unsafe fn av_frame_free(_frame: *mut *mut AVFrame) {}
424
425pub unsafe fn av_frame_get_buffer(_frame: *mut AVFrame, _align: c_int) -> c_int {
426 0
427}
428
429pub unsafe fn av_frame_move_ref(_dst: *mut AVFrame, _src: *mut AVFrame) {}
430
431pub unsafe fn av_frame_unref(_frame: *mut AVFrame) {}
432
433pub unsafe fn av_packet_alloc() -> *mut AVPacket {
434 std::ptr::null_mut()
435}
436
437pub unsafe fn av_packet_free(_pkt: *mut *mut AVPacket) {}
438
439pub unsafe fn av_packet_unref(_pkt: *mut AVPacket) {}
440
441pub unsafe fn av_packet_new_side_data(
442 _pkt: *mut AVPacket,
443 _type_: AVPacketSideDataType,
444 _size: usize,
445) -> *mut u8 {
446 std::ptr::null_mut()
447}
448
449pub unsafe fn av_buffer_ref(_buf: *mut AVBufferRef) -> *mut AVBufferRef {
450 std::ptr::null_mut()
451}
452
453pub unsafe fn av_buffer_unref(_buf: *mut *mut AVBufferRef) {}
454
455pub unsafe fn av_hwdevice_ctx_create(
456 _device_ctx: *mut *mut AVBufferRef,
457 _type_: AVHWDeviceType,
458 _device: *const c_char,
459 _opts: *mut AVDictionary,
460 _flags: c_int,
461) -> c_int {
462 -1
463}
464
465pub unsafe fn av_hwframe_transfer_data(
466 _dst: *mut AVFrame,
467 _src: *const AVFrame,
468 _flags: c_int,
469) -> c_int {
470 -1
471}
472
473pub unsafe fn av_opt_set(
474 _obj: *mut c_void,
475 _name: *const c_char,
476 _val: *const c_char,
477 _search_flags: c_int,
478) -> c_int {
479 0
480}
481
482pub unsafe fn av_read_frame(_s: *mut AVFormatContext, _pkt: *mut AVPacket) -> c_int {
483 -1
484}
485
486pub unsafe fn av_write_trailer(_s: *mut AVFormatContext) -> c_int {
487 0
488}
489
490pub unsafe fn av_interleaved_write_frame(
491 _s: *mut AVFormatContext,
492 _pkt: *mut AVPacket,
493) -> c_int {
494 0
495}
496
497pub unsafe fn avcodec_receive_frame(_avctx: *mut AVCodecContext, _frame: *mut AVFrame) -> c_int {
498 -1
499}
500
501pub unsafe fn avcodec_send_packet(
502 _avctx: *mut AVCodecContext,
503 _avpkt: *const AVPacket,
504) -> c_int {
505 -1
506}
507
508pub unsafe fn avformat_alloc_output_context2(
509 _ctx: *mut *mut AVFormatContext,
510 _oformat: *mut AVOutputFormat,
511 _format_name: *const c_char,
512 _filename: *const c_char,
513) -> c_int {
514 -1
515}
516
517pub unsafe fn avformat_free_context(_s: *mut AVFormatContext) {}
518
519pub unsafe fn avformat_new_stream(
520 _s: *mut AVFormatContext,
521 _c: *const AVCodec,
522) -> *mut AVStream {
523 std::ptr::null_mut()
524}
525
526pub unsafe fn avformat_write_header(
527 _s: *mut AVFormatContext,
528 _options: *mut *mut AVDictionary,
529) -> c_int {
530 -1
531}
532
533pub unsafe fn swr_alloc_set_opts2(
534 _ps: *mut *mut SwrContext,
535 _out_ch_layout: *const AVChannelLayout,
536 _out_sample_fmt: AVSampleFormat,
537 _out_sample_rate: c_int,
538 _in_ch_layout: *const AVChannelLayout,
539 _in_sample_fmt: AVSampleFormat,
540 _in_sample_rate: c_int,
541 _log_offset: c_int,
542 _log_ctx: *mut c_void,
543) -> c_int {
544 -1
545}
546
547pub unsafe fn swr_convert(
548 _s: *mut SwrContext,
549 _out: *mut *mut u8,
550 _out_count: c_int,
551 _in_: *const *const u8,
552 _in_count: c_int,
553) -> c_int {
554 -1
555}
556
557pub unsafe fn swr_free(_s: *mut *mut SwrContext) {}
558
559pub unsafe fn swr_get_out_samples(_s: *mut SwrContext, _in_samples: c_int) -> c_int {
560 0
561}
562
563pub unsafe fn swr_init(_s: *mut SwrContext) -> c_int {
564 -1
565}
566
567pub unsafe fn av_channel_layout_default(_ch_layout: *mut AVChannelLayout, _nb_channels: c_int) {}
568
569pub unsafe fn av_channel_layout_uninit(_ch_layout: *mut AVChannelLayout) {}
570
571pub unsafe fn av_rescale_q(_a: i64, _bq: AVRational, _cq: AVRational) -> i64 {
572 0
573}
574
575pub unsafe fn av_mallocz(_size: usize) -> *mut c_void {
576 std::ptr::null_mut()
577}
578
579pub unsafe fn av_malloc(_size: usize) -> *mut c_void {
580 std::ptr::null_mut()
581}
582
583pub unsafe fn av_free(_ptr: *mut c_void) {}
584
585pub unsafe fn av_new_packet(_pkt: *mut AVPacket, _size: c_int) -> c_int {
586 -1
587}
588
589pub unsafe fn avcodec_parameters_copy(
590 _dst: *mut AVCodecParameters,
591 _src: *const AVCodecParameters,
592) -> c_int {
593 0
594}
595
596pub unsafe fn av_packet_rescale_ts(
597 _pkt: *mut AVPacket,
598 _tb_src: AVRational,
599 _tb_dst: AVRational,
600) {
601}
602
603pub struct AVFilterGraph(());
611pub struct AVFilter(());
612
613pub struct AVFilterContext {
614 pub hw_device_ctx: *mut AVBufferRef,
615}
616
617pub const AV_BUFFERSRC_FLAG_KEEP_REF: c_int = 8;
621
622pub unsafe fn avfilter_graph_alloc() -> *mut AVFilterGraph {
627 ptr::null_mut()
628}
629
630pub unsafe fn avfilter_graph_free(_graph: *mut *mut AVFilterGraph) {}
631
632pub unsafe fn avfilter_get_by_name(_name: *const c_char) -> *const AVFilter {
633 ptr::null()
634}
635
636pub unsafe fn avfilter_graph_create_filter(
637 _filt_ctx: *mut *mut AVFilterContext,
638 _filt: *const AVFilter,
639 _name: *const c_char,
640 _args: *const c_char,
641 _opaque: *mut c_void,
642 _graph_ctx: *mut AVFilterGraph,
643) -> c_int {
644 0
645}
646
647pub unsafe fn avfilter_link(
648 _src: *mut AVFilterContext,
649 _srcpad: c_uint,
650 _dst: *mut AVFilterContext,
651 _dstpad: c_uint,
652) -> c_int {
653 0
654}
655
656pub unsafe fn avfilter_graph_config(
657 _graphctx: *mut AVFilterGraph,
658 _log_ctx: *mut c_void,
659) -> c_int {
660 0
661}
662
663pub unsafe fn avfilter_graph_set_auto_convert(_graph: *mut AVFilterGraph, _flags: c_uint) {}
664
665pub unsafe fn avfilter_graph_send_command(
666 _graph: *mut AVFilterGraph,
667 _target: *const c_char,
668 _cmd: *const c_char,
669 _arg: *const c_char,
670 _res: *mut c_char,
671 _res_len: c_int,
672 _flags: c_int,
673) -> c_int {
674 0
675}
676
677pub unsafe fn av_buffersrc_add_frame_flags(
678 _ctx: *mut AVFilterContext,
679 _frame: *mut AVFrame,
680 _flags: c_int,
681) -> c_int {
682 0
683}
684
685pub unsafe fn av_buffersrc_close(
686 _ctx: *mut AVFilterContext,
687 _pts: i64,
688 _flags: c_uint,
689) -> c_int {
690 0
691}
692
693pub unsafe fn av_buffersink_get_frame(
694 _ctx: *mut AVFilterContext,
695 _frame: *mut AVFrame,
696) -> c_int {
697 -11
699}
700
701pub unsafe fn av_buffersink_get_time_base(_ctx: *const AVFilterContext) -> AVRational {
702 AVRational { num: 0, den: 1 }
703}
704
705pub mod avformat {
707 use std::os::raw::c_int;
708 use std::path::Path;
709
710 use super::{AVFormatContext, AVIOContext, AVPacket};
711
712 pub fn srt_available() -> bool {
713 false
714 }
715
716 pub unsafe fn open_input(_path: &Path) -> Result<*mut AVFormatContext, c_int> {
717 Err(-1)
718 }
719
720 pub unsafe fn open_input_url(
721 _url: &str,
722 _connect_timeout: std::time::Duration,
723 _read_timeout: std::time::Duration,
724 ) -> Result<*mut AVFormatContext, c_int> {
725 Err(-1)
726 }
727
728 pub unsafe fn open_input_image_sequence(
729 _path: &Path,
730 _framerate: u32,
731 ) -> Result<*mut AVFormatContext, c_int> {
732 Err(-1)
733 }
734
735 pub unsafe fn close_input(_ctx: *mut *mut AVFormatContext) {}
736
737 pub unsafe fn find_stream_info(_ctx: *mut AVFormatContext) -> Result<(), c_int> {
738 Err(-1)
739 }
740
741 pub unsafe fn seek_frame(
742 _ctx: *mut AVFormatContext,
743 _stream_index: c_int,
744 _timestamp: i64,
745 _flags: c_int,
746 ) -> Result<(), c_int> {
747 Err(-1)
748 }
749
750 pub unsafe fn seek_file(
751 _ctx: *mut AVFormatContext,
752 _stream_index: c_int,
753 _min_ts: i64,
754 _ts: i64,
755 _max_ts: i64,
756 _flags: c_int,
757 ) -> Result<(), c_int> {
758 Err(-1)
759 }
760
761 pub unsafe fn read_frame(
762 _ctx: *mut AVFormatContext,
763 _pkt: *mut AVPacket,
764 ) -> Result<(), c_int> {
765 Err(-1)
766 }
767
768 pub unsafe fn write_frame(
769 _ctx: *mut AVFormatContext,
770 _pkt: *mut AVPacket,
771 ) -> Result<(), c_int> {
772 Err(-1)
773 }
774
775 pub unsafe fn open_output(_path: &Path, _flags: c_int) -> Result<*mut AVIOContext, c_int> {
776 Err(-1)
777 }
778
779 pub unsafe fn close_output(_pb: *mut *mut AVIOContext) {}
780
781 pub mod avio_flags {
782 use std::os::raw::c_int;
783 pub const READ: c_int = 1;
784 pub const WRITE: c_int = 2;
785 pub const READ_WRITE: c_int = 3;
786 }
787
788 pub mod seek_flags {
789 pub const BACKWARD: i32 = 1;
790 pub const BYTE: i32 = 2;
791 pub const ANY: i32 = 4;
792 pub const FRAME: i32 = 8;
793 }
794}
795
796pub mod avcodec {
798 use std::os::raw::c_int;
799
800 use super::{AVCodec, AVCodecContext, AVCodecID, AVCodecParameters, AVDictionary, AVFrame, AVPacket};
801
802 pub unsafe fn find_decoder(_codec_id: AVCodecID) -> Option<*const AVCodec> {
803 None
804 }
805
806 pub unsafe fn find_decoder_by_name(_name: *const i8) -> Option<*const AVCodec> {
807 None
808 }
809
810 pub unsafe fn find_encoder(_codec_id: AVCodecID) -> Option<*const AVCodec> {
811 None
812 }
813
814 pub unsafe fn find_encoder_by_name(_name: *const i8) -> Option<*const AVCodec> {
815 None
816 }
817
818 pub unsafe fn alloc_context3(_codec: *const AVCodec) -> Result<*mut AVCodecContext, c_int> {
819 Err(-1)
820 }
821
822 pub unsafe fn free_context(_ctx: *mut *mut AVCodecContext) {}
823
824 pub unsafe fn parameters_to_context(
825 _codec_ctx: *mut AVCodecContext,
826 _par: *const AVCodecParameters,
827 ) -> Result<(), c_int> {
828 Err(-1)
829 }
830
831 pub unsafe fn open2(
832 _avctx: *mut AVCodecContext,
833 _codec: *const AVCodec,
834 _options: *mut *mut AVDictionary,
835 ) -> Result<(), c_int> {
836 Err(-1)
837 }
838
839 pub unsafe fn send_packet(
840 _ctx: *mut AVCodecContext,
841 _pkt: *const AVPacket,
842 ) -> Result<(), c_int> {
843 Err(-1)
844 }
845
846 pub unsafe fn receive_frame(
847 _ctx: *mut AVCodecContext,
848 _frame: *mut AVFrame,
849 ) -> Result<(), c_int> {
850 Err(-1)
851 }
852
853 pub unsafe fn send_frame(
854 _ctx: *mut AVCodecContext,
855 _frame: *const AVFrame,
856 ) -> Result<(), c_int> {
857 Err(-1)
858 }
859
860 pub unsafe fn receive_packet(
861 _ctx: *mut AVCodecContext,
862 _pkt: *mut AVPacket,
863 ) -> Result<(), c_int> {
864 Err(-1)
865 }
866
867 pub unsafe fn flush_buffers(_ctx: *mut AVCodecContext) {}
868
869 pub unsafe fn parameters_from_context(
870 _par: *mut AVCodecParameters,
871 _ctx: *const AVCodecContext,
872 ) -> Result<(), c_int> {
873 Err(-1)
874 }
875
876 pub mod codec_caps {
877 pub const EXPERIMENTAL: u32 = 1 << 9;
878 pub const HARDWARE: u32 = 1 << 10;
879 pub const HYBRID: u32 = 1 << 11;
880 pub const VARIABLE_FRAME_SIZE: u32 = 1 << 16;
881 pub const AVOID_PROBING: u32 = 1 << 17;
882 }
883}
884
885pub mod swresample {
887 use std::os::raw::c_int;
888
889 use super::{AVChannelLayout, AVSampleFormat, SwrContext};
890
891 pub unsafe fn alloc() -> Result<*mut SwrContext, c_int> {
892 Err(-1)
893 }
894
895 pub unsafe fn alloc_set_opts2(
896 _out_ch_layout: *const AVChannelLayout,
897 _out_sample_fmt: AVSampleFormat,
898 _out_sample_rate: c_int,
899 _in_ch_layout: *const AVChannelLayout,
900 _in_sample_fmt: AVSampleFormat,
901 _in_sample_rate: c_int,
902 ) -> Result<*mut SwrContext, c_int> {
903 Err(-1)
904 }
905
906 pub unsafe fn init(_ctx: *mut SwrContext) -> Result<(), c_int> {
907 Err(-1)
908 }
909
910 pub unsafe fn is_initialized(_ctx: *const SwrContext) -> bool {
911 false
912 }
913
914 pub unsafe fn free(_ctx: *mut *mut SwrContext) {}
915
916 pub unsafe fn convert(
917 _s: *mut SwrContext,
918 _out: *mut *mut u8,
919 _out_count: c_int,
920 _in_: *const *const u8,
921 _in_count: c_int,
922 ) -> Result<c_int, c_int> {
923 Err(-1)
924 }
925
926 pub unsafe fn get_delay(_ctx: *mut SwrContext, _base: i64) -> i64 {
927 0
928 }
929
930 pub fn estimate_output_samples(
931 _out_sample_rate: i32,
932 _in_sample_rate: i32,
933 _in_samples: i32,
934 ) -> i32 {
935 0
936 }
937
938 pub mod channel_layout {
939 use super::super::AVChannelLayout;
940
941 pub unsafe fn set_default(_ch_layout: *mut AVChannelLayout, _nb_channels: i32) {}
942 pub unsafe fn uninit(_ch_layout: *mut AVChannelLayout) {}
943 pub unsafe fn copy(
944 _dst: *mut AVChannelLayout,
945 _src: *const AVChannelLayout,
946 ) -> Result<(), i32> {
947 Err(-1)
948 }
949 pub unsafe fn is_equal(
950 _chl: *const AVChannelLayout,
951 _chl1: *const AVChannelLayout,
952 ) -> bool {
953 false
954 }
955 pub fn mono() -> AVChannelLayout {
956 AVChannelLayout::default()
957 }
958 pub fn stereo() -> AVChannelLayout {
959 AVChannelLayout::default()
960 }
961 pub fn with_channels(_nb_channels: i32) -> AVChannelLayout {
962 AVChannelLayout::default()
963 }
964 pub fn is_valid(ch_layout: &AVChannelLayout) -> bool {
965 ch_layout.nb_channels > 0
966 }
967 pub fn nb_channels(ch_layout: &AVChannelLayout) -> i32 {
968 ch_layout.nb_channels
969 }
970 pub fn is_native_order(_ch_layout: &AVChannelLayout) -> bool {
971 false
972 }
973 }
974
975 pub mod audio_fifo {
976 use std::ffi::c_void;
977 use std::os::raw::c_int;
978
979 use super::super::{AVAudioFifo, AVSampleFormat};
980
981 pub unsafe fn alloc(
982 _sample_fmt: AVSampleFormat,
983 _channels: c_int,
984 _nb_samples: c_int,
985 ) -> Result<*mut AVAudioFifo, c_int> {
986 Err(-1)
987 }
988
989 pub unsafe fn free(_fifo: *mut AVAudioFifo) {}
990
991 pub unsafe fn write(
992 _fifo: *mut AVAudioFifo,
993 _data: *const *mut c_void,
994 _nb_samples: c_int,
995 ) -> Result<c_int, c_int> {
996 Err(-1)
997 }
998
999 pub unsafe fn read(
1000 _fifo: *mut AVAudioFifo,
1001 _data: *const *mut c_void,
1002 _nb_samples: c_int,
1003 ) -> Result<c_int, c_int> {
1004 Err(-1)
1005 }
1006
1007 pub unsafe fn size(_fifo: *mut AVAudioFifo) -> c_int {
1008 0
1009 }
1010 }
1011
1012 pub mod sample_format {
1013 use super::super::{
1014 AVSampleFormat, AVSampleFormat_AV_SAMPLE_FMT_NONE, AVSampleFormat_AV_SAMPLE_FMT_U8,
1015 AVSampleFormat_AV_SAMPLE_FMT_S16, AVSampleFormat_AV_SAMPLE_FMT_S32,
1016 AVSampleFormat_AV_SAMPLE_FMT_FLT, AVSampleFormat_AV_SAMPLE_FMT_DBL,
1017 AVSampleFormat_AV_SAMPLE_FMT_U8P, AVSampleFormat_AV_SAMPLE_FMT_S16P,
1018 AVSampleFormat_AV_SAMPLE_FMT_S32P, AVSampleFormat_AV_SAMPLE_FMT_FLTP,
1019 AVSampleFormat_AV_SAMPLE_FMT_DBLP, AVSampleFormat_AV_SAMPLE_FMT_S64,
1020 AVSampleFormat_AV_SAMPLE_FMT_S64P,
1021 };
1022
1023 pub const NONE: AVSampleFormat = AVSampleFormat_AV_SAMPLE_FMT_NONE;
1024 pub const U8: AVSampleFormat = AVSampleFormat_AV_SAMPLE_FMT_U8;
1025 pub const S16: AVSampleFormat = AVSampleFormat_AV_SAMPLE_FMT_S16;
1026 pub const S32: AVSampleFormat = AVSampleFormat_AV_SAMPLE_FMT_S32;
1027 pub const FLT: AVSampleFormat = AVSampleFormat_AV_SAMPLE_FMT_FLT;
1028 pub const DBL: AVSampleFormat = AVSampleFormat_AV_SAMPLE_FMT_DBL;
1029 pub const U8P: AVSampleFormat = AVSampleFormat_AV_SAMPLE_FMT_U8P;
1030 pub const S16P: AVSampleFormat = AVSampleFormat_AV_SAMPLE_FMT_S16P;
1031 pub const S32P: AVSampleFormat = AVSampleFormat_AV_SAMPLE_FMT_S32P;
1032 pub const FLTP: AVSampleFormat = AVSampleFormat_AV_SAMPLE_FMT_FLTP;
1033 pub const DBLP: AVSampleFormat = AVSampleFormat_AV_SAMPLE_FMT_DBLP;
1034 pub const S64: AVSampleFormat = AVSampleFormat_AV_SAMPLE_FMT_S64;
1035 pub const S64P: AVSampleFormat = AVSampleFormat_AV_SAMPLE_FMT_S64P;
1036
1037 pub fn bytes_per_sample(_sample_fmt: AVSampleFormat) -> i32 {
1038 0
1039 }
1040 pub fn is_planar(_sample_fmt: AVSampleFormat) -> bool {
1041 false
1042 }
1043 }
1044}
1045
1046pub mod swscale {
1048 use std::os::raw::c_int;
1049
1050 use super::{AVPixelFormat, SwsContext};
1051
1052 pub unsafe fn get_context(
1053 _src_w: c_int,
1054 _src_h: c_int,
1055 _src_fmt: AVPixelFormat,
1056 _dst_w: c_int,
1057 _dst_h: c_int,
1058 _dst_fmt: AVPixelFormat,
1059 _flags: c_int,
1060 ) -> Result<*mut SwsContext, c_int> {
1061 Err(-1)
1062 }
1063
1064 pub unsafe fn free_context(_ctx: *mut SwsContext) {}
1065
1066 pub unsafe fn scale(
1067 _ctx: *mut SwsContext,
1068 _src: *const *const u8,
1069 _src_stride: *const c_int,
1070 _src_slice_y: c_int,
1071 _src_slice_h: c_int,
1072 _dst: *const *mut u8,
1073 _dst_stride: *const c_int,
1074 ) -> Result<c_int, c_int> {
1075 Err(-1)
1076 }
1077
1078 pub unsafe fn is_supported_input(_pix_fmt: AVPixelFormat) -> bool {
1079 false
1080 }
1081
1082 pub unsafe fn is_supported_output(_pix_fmt: AVPixelFormat) -> bool {
1083 false
1084 }
1085
1086 pub unsafe fn is_supported_endianness_conversion(_pix_fmt: AVPixelFormat) -> bool {
1087 false
1088 }
1089
1090 pub mod scale_flags {
1091 pub const FAST_BILINEAR: i32 = 1;
1092 pub const BILINEAR: i32 = 2;
1093 pub const BICUBIC: i32 = 4;
1094 pub const X: i32 = 8;
1095 pub const POINT: i32 = 16;
1096 pub const AREA: i32 = 32;
1097 pub const BICUBLIN: i32 = 64;
1098 pub const GAUSS: i32 = 128;
1099 pub const SINC: i32 = 256;
1100 pub const LANCZOS: i32 = 512;
1101 pub const SPLINE: i32 = 1024;
1102 }
1103}