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