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