From a5e7cc47aea6be06c4d7f8023010a76abfe1840a Mon Sep 17 00:00:00 2001 From: Saksham Goyal Date: Mon, 22 Sep 2025 15:27:01 -0400 Subject: [PATCH] Windows Build Generate cross platform FFI for ffmpeg --- Cargo.lock | 41 +- crates/file-cache/src/lib.rs | 2 +- crates/media_info/Cargo.toml | 1 + crates/media_info/build.rs | 87 +- crates/media_info/generate_ffi.sh | 28 - crates/media_info/src/ffi_ffmpeg-8.0.rs | 2245 +++++++++++++++++++++++ crates/media_info/src/lib.rs | 10 + src/main.rs | 7 +- 8 files changed, 2381 insertions(+), 40 deletions(-) delete mode 100755 crates/media_info/generate_ffi.sh create mode 100644 crates/media_info/src/ffi_ffmpeg-8.0.rs diff --git a/Cargo.lock b/Cargo.lock index 86a4bbc2a..ae7f3f5b8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -283,12 +283,32 @@ dependencies = [ "proc-macro2", "quote", "regex", - "rustc-hash", + "rustc-hash 1.1.0", "shlex", "syn", "which", ] +[[package]] +name = "bindgen" +version = "0.72.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" +dependencies = [ + "bitflags 2.9.4", + "cexpr", + "clang-sys", + "itertools 0.13.0", + "log", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash 2.1.1", + "shlex", + "syn", +] + [[package]] name = "bit-vec" version = "0.8.0" @@ -977,7 +997,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.60.2", ] [[package]] @@ -1832,7 +1852,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-targets 0.52.6", + "windows-targets 0.53.3", ] [[package]] @@ -1909,6 +1929,7 @@ dependencies = [ name = "media_info" version = "0.3.1" dependencies = [ + "bindgen 0.72.1", "clap", "encoding", "pkg-config", @@ -2665,7 +2686,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74d2ba58bacec8f1346df26eba033cf1eadfe5a4fec804823b1e84122556ade9" dependencies = [ "anyhow", - "bindgen", + "bindgen 0.69.5", "lazy_static", "libc", "paste", @@ -2721,6 +2742,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + [[package]] name = "rustix" version = "0.38.44" @@ -2744,7 +2771,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.9.4", - "windows-sys 0.52.0", + "windows-sys 0.60.2", ] [[package]] @@ -3079,7 +3106,7 @@ dependencies = [ "getrandom 0.3.3", "once_cell", "rustix 1.0.8", - "windows-sys 0.52.0", + "windows-sys 0.61.0", ] [[package]] @@ -3614,7 +3641,7 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.60.2", ] [[package]] diff --git a/crates/file-cache/src/lib.rs b/crates/file-cache/src/lib.rs index 2957f15cb..a8adc0c5e 100644 --- a/crates/file-cache/src/lib.rs +++ b/crates/file-cache/src/lib.rs @@ -8,7 +8,6 @@ use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; use data_encoding::BASE64URL_NOPAD; use linked_hash_map::LinkedHashMap; use rand::RngCore; -use std::cmp::Ordering; use std::collections::{HashMap, HashSet}; use std::fs::{self, Metadata}; use std::io::{self, Read, Write}; @@ -49,6 +48,7 @@ impl From for FileModTime { fn from(meta: Metadata) -> Self { #[cfg(unix)] { + use std::cmp::Ordering; use std::os::unix::fs::MetadataExt; let mtime = meta.mtime(); let ctime = meta.ctime(); diff --git a/crates/media_info/Cargo.toml b/crates/media_info/Cargo.toml index 700278981..a020f298d 100644 --- a/crates/media_info/Cargo.toml +++ b/crates/media_info/Cargo.toml @@ -14,6 +14,7 @@ clap = { version = "4", features = ["derive"] } [build-dependencies] pkg-config = "0.3.30" +bindgen = "0.72.1" [features] static = [] diff --git a/crates/media_info/build.rs b/crates/media_info/build.rs index 04283c49e..fdda2fba4 100644 --- a/crates/media_info/build.rs +++ b/crates/media_info/build.rs @@ -2,6 +2,7 @@ const FFMPEG_VERSION_4: &str = "ffmpeg-4.4.6"; const FFMPEG_VERSION_5: &str = "ffmpeg-5.1.7"; const FFMPEG_VERSION_6: &str = "ffmpeg-6.1.1"; const FFMPEG_VERSION_7: &str = "ffmpeg-7.1.1"; +const FFMPEG_VERSION_8: &str = "ffmpeg-8.0"; // macro_rules! warn { // ($fmt:literal $(, $arg:expr)* ) => { @@ -26,8 +27,10 @@ fn main() { match pkg { Ok(lib) => { if let Some(version) = parse_main_version(&lib.version) { - if version > 61 { + if version > 62 { panic!("libavformat is too new - need to update source with new ffi"); + } else if version == 62 { + FFMPEG_VERSION_8 } else if version == 61 { FFMPEG_VERSION_7 } else if version == 60 { @@ -44,10 +47,16 @@ fn main() { } } Err(e) => { - panic!("Cannot find libavformat: {}", e); + if cfg!(windows) { + get_ffmpeg_version_windows() + } else { + panic!("Cannot find libavformat: {}", e); + } } } }; + + generate_ffi(ffmpeg_version); let ffi_src = format!("src/ffi_{}.rs", ffmpeg_version); eprintln!("ffmpeg version: {}", ffmpeg_version); let ffi_target = @@ -119,3 +128,77 @@ fn main() { println!("cargo:rustc-link-lib=avcodec"); } } + +fn generate_ffi(ffmpeg_version: &str) { + let mut args = vec![format!("-I{ffmpeg_version}")]; + let out_file = format!("src/ffi_{ffmpeg_version}.rs"); + + if cfg!(windows) { + println!("cargo:rustc-link-search=C:/ffmpeg/lib"); + args.push("-IC:/ffmpeg/include".to_string()); + } + + println!("cargo:rustc-link-lib=avformat"); + println!("cargo:rustc-link-lib=avutil"); + println!("cargo:rustc-link-lib=avcodec"); + + let _bindings = bindgen::Builder::default() + .header("wrapper.h") + // Tell cargo to invalidate the built crate whenever any of the + // included header files changed. + .parse_callbacks(Box::new(bindgen::CargoCallbacks::new())) + .generate_comments(false) + .allowlist_type("AVFormatContext") + .allowlist_type("AVDictionary") + .allowlist_type("AVChapter") + .allowlist_type("AVRational") + .allowlist_function("av_dict_get") + .allowlist_function("av_dict_count") + .allowlist_function("av_log_set_level") + .allowlist_function("av_register_all") + .allowlist_function("avformat_version") + .allowlist_function("avformat_alloc_context") + .allowlist_function("avformat_open_input") + .allowlist_function("avformat_find_stream_info") + .allowlist_function("avformat_close_input") + .allowlist_function("av_dump_format") + .allowlist_var("AV_LOG_QUIET") + .allowlist_var("AV_DICT_IGNORE_SUFFIX") + .allowlist_var("AV_TIME_BASE") + .clang_args(args) + .generate() + .expect("Unable to generate bindings") + .write_to_file(out_file) + .expect("Couldn't write bindings!"); +} + +fn get_ffmpeg_version_windows() -> &'static str { + let paths = std::fs::read_dir("C:/ffmpeg/bin").unwrap(); + for path in paths { + let path = path.unwrap().path(); + let file_name = path.file_name().unwrap().to_str().unwrap(); + if file_name.starts_with("avformat-") && file_name.ends_with(".dll") { + let version = file_name + .trim_start_matches("avformat-") + .trim_end_matches(".dll") + .parse::() + .unwrap_or(0); + if version > 62 { + panic!("libavformat is too new - need to update source with new ffi"); + } else if version == 62 { + return FFMPEG_VERSION_8; + } else if version == 61 { + return FFMPEG_VERSION_7; + } else if version == 60 { + return FFMPEG_VERSION_6; + } else if version == 59 { + return FFMPEG_VERSION_5; + } else if version == 58 { + return FFMPEG_VERSION_4; + } else { + panic!("unknown libavformat version {}", version); + } + } + } + panic!("Unknown ffmpeg location"); +} diff --git a/crates/media_info/generate_ffi.sh b/crates/media_info/generate_ffi.sh deleted file mode 100755 index ff9a5ac67..000000000 --- a/crates/media_info/generate_ffi.sh +++ /dev/null @@ -1,28 +0,0 @@ -#! /bin/bash - -if [[ -z "$FFMPEG_VERSION" ]]; then - echo FFMPEG_VERSION environmet variable must be defined like FFMPEG_VERSION=ffmpeg-4.1.5 >&2 - exit 2 -fi - -bindgen \ ---no-doc-comments \ ---allowlist-type AVFormatContext \ ---allowlist-type AVDictionary \ ---allowlist-type AVChapter \ ---allowlist-type AVRational \ ---allowlist-function av_dict_get \ ---allowlist-function av_dict_count \ ---allowlist-function av_log_set_level \ ---allowlist-function av_register_all \ ---allowlist-function avformat_version \ ---allowlist-function avformat_alloc_context \ ---allowlist-function avformat_open_input \ ---allowlist-function avformat_find_stream_info \ ---allowlist-function avformat_close_input \ ---allowlist-function av_dump_format \ ---allowlist-var AV_LOG_QUIET \ ---allowlist-var AV_DICT_IGNORE_SUFFIX \ ---allowlist-var AV_TIME_BASE \ -wrapper.h -- -I $FFMPEG_VERSION \ -> src/ffi_$FFMPEG_VERSION.rs \ No newline at end of file diff --git a/crates/media_info/src/ffi_ffmpeg-8.0.rs b/crates/media_info/src/ffi_ffmpeg-8.0.rs new file mode 100644 index 000000000..818217744 --- /dev/null +++ b/crates/media_info/src/ffi_ffmpeg-8.0.rs @@ -0,0 +1,2245 @@ +/* automatically generated by rust-bindgen 0.72.1 */ + +pub const AV_TIME_BASE: u32 = 1000000; +pub const AV_LOG_QUIET: i32 = -8; +pub const AV_DICT_IGNORE_SUFFIX: u32 = 2; +pub const AVMediaType_AVMEDIA_TYPE_UNKNOWN: AVMediaType = -1; +pub const AVMediaType_AVMEDIA_TYPE_VIDEO: AVMediaType = 0; +pub const AVMediaType_AVMEDIA_TYPE_AUDIO: AVMediaType = 1; +pub const AVMediaType_AVMEDIA_TYPE_DATA: AVMediaType = 2; +pub const AVMediaType_AVMEDIA_TYPE_SUBTITLE: AVMediaType = 3; +pub const AVMediaType_AVMEDIA_TYPE_ATTACHMENT: AVMediaType = 4; +pub const AVMediaType_AVMEDIA_TYPE_NB: AVMediaType = 5; +pub type AVMediaType = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVRational { + pub num: ::std::os::raw::c_int, + pub den: ::std::os::raw::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVRational"][::std::mem::size_of::() - 8usize]; + ["Alignment of AVRational"][::std::mem::align_of::() - 4usize]; + ["Offset of field: AVRational::num"][::std::mem::offset_of!(AVRational, num) - 0usize]; + ["Offset of field: AVRational::den"][::std::mem::offset_of!(AVRational, den) - 4usize]; +}; +pub const AVClassCategory_AV_CLASS_CATEGORY_NA: AVClassCategory = 0; +pub const AVClassCategory_AV_CLASS_CATEGORY_INPUT: AVClassCategory = 1; +pub const AVClassCategory_AV_CLASS_CATEGORY_OUTPUT: AVClassCategory = 2; +pub const AVClassCategory_AV_CLASS_CATEGORY_MUXER: AVClassCategory = 3; +pub const AVClassCategory_AV_CLASS_CATEGORY_DEMUXER: AVClassCategory = 4; +pub const AVClassCategory_AV_CLASS_CATEGORY_ENCODER: AVClassCategory = 5; +pub const AVClassCategory_AV_CLASS_CATEGORY_DECODER: AVClassCategory = 6; +pub const AVClassCategory_AV_CLASS_CATEGORY_FILTER: AVClassCategory = 7; +pub const AVClassCategory_AV_CLASS_CATEGORY_BITSTREAM_FILTER: AVClassCategory = 8; +pub const AVClassCategory_AV_CLASS_CATEGORY_SWSCALER: AVClassCategory = 9; +pub const AVClassCategory_AV_CLASS_CATEGORY_SWRESAMPLER: AVClassCategory = 10; +pub const AVClassCategory_AV_CLASS_CATEGORY_HWDEVICE: AVClassCategory = 11; +pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT: AVClassCategory = 40; +pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT: AVClassCategory = 41; +pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT: AVClassCategory = 42; +pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT: AVClassCategory = 43; +pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_OUTPUT: AVClassCategory = 44; +pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_INPUT: AVClassCategory = 45; +pub const AVClassCategory_AV_CLASS_CATEGORY_NB: AVClassCategory = 46; +pub type AVClassCategory = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVOptionRanges { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVClass { + pub class_name: *const ::std::os::raw::c_char, + pub item_name: ::std::option::Option< + unsafe extern "C" fn(ctx: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char, + >, + pub option: *mut AVOption, + pub version: ::std::os::raw::c_int, + pub log_level_offset_offset: ::std::os::raw::c_int, + pub parent_log_context_offset: ::std::os::raw::c_int, + pub category: AVClassCategory, + pub get_category: ::std::option::Option< + unsafe extern "C" fn(ctx: *mut ::std::os::raw::c_void) -> AVClassCategory, + >, + pub query_ranges: ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut *mut AVOptionRanges, + obj: *mut ::std::os::raw::c_void, + key: *const ::std::os::raw::c_char, + flags: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, + >, + pub child_next: ::std::option::Option< + unsafe extern "C" fn( + obj: *mut ::std::os::raw::c_void, + prev: *mut ::std::os::raw::c_void, + ) -> *mut ::std::os::raw::c_void, + >, + pub child_class_iterate: ::std::option::Option< + unsafe extern "C" fn(iter: *mut *mut ::std::os::raw::c_void) -> *const AVClass, + >, + pub state_flags_offset: ::std::os::raw::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVClass"][::std::mem::size_of::() - 80usize]; + ["Alignment of AVClass"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVClass::class_name"][::std::mem::offset_of!(AVClass, class_name) - 0usize]; + ["Offset of field: AVClass::item_name"][::std::mem::offset_of!(AVClass, item_name) - 8usize]; + ["Offset of field: AVClass::option"][::std::mem::offset_of!(AVClass, option) - 16usize]; + ["Offset of field: AVClass::version"][::std::mem::offset_of!(AVClass, version) - 24usize]; + ["Offset of field: AVClass::log_level_offset_offset"] + [::std::mem::offset_of!(AVClass, log_level_offset_offset) - 28usize]; + ["Offset of field: AVClass::parent_log_context_offset"] + [::std::mem::offset_of!(AVClass, parent_log_context_offset) - 32usize]; + ["Offset of field: AVClass::category"][::std::mem::offset_of!(AVClass, category) - 36usize]; + ["Offset of field: AVClass::get_category"] + [::std::mem::offset_of!(AVClass, get_category) - 40usize]; + ["Offset of field: AVClass::query_ranges"] + [::std::mem::offset_of!(AVClass, query_ranges) - 48usize]; + ["Offset of field: AVClass::child_next"][::std::mem::offset_of!(AVClass, child_next) - 56usize]; + ["Offset of field: AVClass::child_class_iterate"] + [::std::mem::offset_of!(AVClass, child_class_iterate) - 64usize]; + ["Offset of field: AVClass::state_flags_offset"] + [::std::mem::offset_of!(AVClass, state_flags_offset) - 72usize]; +}; +unsafe extern "C" { + pub fn av_log_set_level(level: ::std::os::raw::c_int); +} +pub const AVPixelFormat_AV_PIX_FMT_NONE: AVPixelFormat = -1; +pub const AVPixelFormat_AV_PIX_FMT_YUV420P: AVPixelFormat = 0; +pub const AVPixelFormat_AV_PIX_FMT_YUYV422: AVPixelFormat = 1; +pub const AVPixelFormat_AV_PIX_FMT_RGB24: AVPixelFormat = 2; +pub const AVPixelFormat_AV_PIX_FMT_BGR24: AVPixelFormat = 3; +pub const AVPixelFormat_AV_PIX_FMT_YUV422P: AVPixelFormat = 4; +pub const AVPixelFormat_AV_PIX_FMT_YUV444P: AVPixelFormat = 5; +pub const AVPixelFormat_AV_PIX_FMT_YUV410P: AVPixelFormat = 6; +pub const AVPixelFormat_AV_PIX_FMT_YUV411P: AVPixelFormat = 7; +pub const AVPixelFormat_AV_PIX_FMT_GRAY8: AVPixelFormat = 8; +pub const AVPixelFormat_AV_PIX_FMT_MONOWHITE: AVPixelFormat = 9; +pub const AVPixelFormat_AV_PIX_FMT_MONOBLACK: AVPixelFormat = 10; +pub const AVPixelFormat_AV_PIX_FMT_PAL8: AVPixelFormat = 11; +pub const AVPixelFormat_AV_PIX_FMT_YUVJ420P: AVPixelFormat = 12; +pub const AVPixelFormat_AV_PIX_FMT_YUVJ422P: AVPixelFormat = 13; +pub const AVPixelFormat_AV_PIX_FMT_YUVJ444P: AVPixelFormat = 14; +pub const AVPixelFormat_AV_PIX_FMT_UYVY422: AVPixelFormat = 15; +pub const AVPixelFormat_AV_PIX_FMT_UYYVYY411: AVPixelFormat = 16; +pub const AVPixelFormat_AV_PIX_FMT_BGR8: AVPixelFormat = 17; +pub const AVPixelFormat_AV_PIX_FMT_BGR4: AVPixelFormat = 18; +pub const AVPixelFormat_AV_PIX_FMT_BGR4_BYTE: AVPixelFormat = 19; +pub const AVPixelFormat_AV_PIX_FMT_RGB8: AVPixelFormat = 20; +pub const AVPixelFormat_AV_PIX_FMT_RGB4: AVPixelFormat = 21; +pub const AVPixelFormat_AV_PIX_FMT_RGB4_BYTE: AVPixelFormat = 22; +pub const AVPixelFormat_AV_PIX_FMT_NV12: AVPixelFormat = 23; +pub const AVPixelFormat_AV_PIX_FMT_NV21: AVPixelFormat = 24; +pub const AVPixelFormat_AV_PIX_FMT_ARGB: AVPixelFormat = 25; +pub const AVPixelFormat_AV_PIX_FMT_RGBA: AVPixelFormat = 26; +pub const AVPixelFormat_AV_PIX_FMT_ABGR: AVPixelFormat = 27; +pub const AVPixelFormat_AV_PIX_FMT_BGRA: AVPixelFormat = 28; +pub const AVPixelFormat_AV_PIX_FMT_GRAY16BE: AVPixelFormat = 29; +pub const AVPixelFormat_AV_PIX_FMT_GRAY16LE: AVPixelFormat = 30; +pub const AVPixelFormat_AV_PIX_FMT_YUV440P: AVPixelFormat = 31; +pub const AVPixelFormat_AV_PIX_FMT_YUVJ440P: AVPixelFormat = 32; +pub const AVPixelFormat_AV_PIX_FMT_YUVA420P: AVPixelFormat = 33; +pub const AVPixelFormat_AV_PIX_FMT_RGB48BE: AVPixelFormat = 34; +pub const AVPixelFormat_AV_PIX_FMT_RGB48LE: AVPixelFormat = 35; +pub const AVPixelFormat_AV_PIX_FMT_RGB565BE: AVPixelFormat = 36; +pub const AVPixelFormat_AV_PIX_FMT_RGB565LE: AVPixelFormat = 37; +pub const AVPixelFormat_AV_PIX_FMT_RGB555BE: AVPixelFormat = 38; +pub const AVPixelFormat_AV_PIX_FMT_RGB555LE: AVPixelFormat = 39; +pub const AVPixelFormat_AV_PIX_FMT_BGR565BE: AVPixelFormat = 40; +pub const AVPixelFormat_AV_PIX_FMT_BGR565LE: AVPixelFormat = 41; +pub const AVPixelFormat_AV_PIX_FMT_BGR555BE: AVPixelFormat = 42; +pub const AVPixelFormat_AV_PIX_FMT_BGR555LE: AVPixelFormat = 43; +pub const AVPixelFormat_AV_PIX_FMT_VAAPI: AVPixelFormat = 44; +pub const AVPixelFormat_AV_PIX_FMT_YUV420P16LE: AVPixelFormat = 45; +pub const AVPixelFormat_AV_PIX_FMT_YUV420P16BE: AVPixelFormat = 46; +pub const AVPixelFormat_AV_PIX_FMT_YUV422P16LE: AVPixelFormat = 47; +pub const AVPixelFormat_AV_PIX_FMT_YUV422P16BE: AVPixelFormat = 48; +pub const AVPixelFormat_AV_PIX_FMT_YUV444P16LE: AVPixelFormat = 49; +pub const AVPixelFormat_AV_PIX_FMT_YUV444P16BE: AVPixelFormat = 50; +pub const AVPixelFormat_AV_PIX_FMT_DXVA2_VLD: AVPixelFormat = 51; +pub const AVPixelFormat_AV_PIX_FMT_RGB444LE: AVPixelFormat = 52; +pub const AVPixelFormat_AV_PIX_FMT_RGB444BE: AVPixelFormat = 53; +pub const AVPixelFormat_AV_PIX_FMT_BGR444LE: AVPixelFormat = 54; +pub const AVPixelFormat_AV_PIX_FMT_BGR444BE: AVPixelFormat = 55; +pub const AVPixelFormat_AV_PIX_FMT_YA8: AVPixelFormat = 56; +pub const AVPixelFormat_AV_PIX_FMT_Y400A: AVPixelFormat = 56; +pub const AVPixelFormat_AV_PIX_FMT_GRAY8A: AVPixelFormat = 56; +pub const AVPixelFormat_AV_PIX_FMT_BGR48BE: AVPixelFormat = 57; +pub const AVPixelFormat_AV_PIX_FMT_BGR48LE: AVPixelFormat = 58; +pub const AVPixelFormat_AV_PIX_FMT_YUV420P9BE: AVPixelFormat = 59; +pub const AVPixelFormat_AV_PIX_FMT_YUV420P9LE: AVPixelFormat = 60; +pub const AVPixelFormat_AV_PIX_FMT_YUV420P10BE: AVPixelFormat = 61; +pub const AVPixelFormat_AV_PIX_FMT_YUV420P10LE: AVPixelFormat = 62; +pub const AVPixelFormat_AV_PIX_FMT_YUV422P10BE: AVPixelFormat = 63; +pub const AVPixelFormat_AV_PIX_FMT_YUV422P10LE: AVPixelFormat = 64; +pub const AVPixelFormat_AV_PIX_FMT_YUV444P9BE: AVPixelFormat = 65; +pub const AVPixelFormat_AV_PIX_FMT_YUV444P9LE: AVPixelFormat = 66; +pub const AVPixelFormat_AV_PIX_FMT_YUV444P10BE: AVPixelFormat = 67; +pub const AVPixelFormat_AV_PIX_FMT_YUV444P10LE: AVPixelFormat = 68; +pub const AVPixelFormat_AV_PIX_FMT_YUV422P9BE: AVPixelFormat = 69; +pub const AVPixelFormat_AV_PIX_FMT_YUV422P9LE: AVPixelFormat = 70; +pub const AVPixelFormat_AV_PIX_FMT_GBRP: AVPixelFormat = 71; +pub const AVPixelFormat_AV_PIX_FMT_GBR24P: AVPixelFormat = 71; +pub const AVPixelFormat_AV_PIX_FMT_GBRP9BE: AVPixelFormat = 72; +pub const AVPixelFormat_AV_PIX_FMT_GBRP9LE: AVPixelFormat = 73; +pub const AVPixelFormat_AV_PIX_FMT_GBRP10BE: AVPixelFormat = 74; +pub const AVPixelFormat_AV_PIX_FMT_GBRP10LE: AVPixelFormat = 75; +pub const AVPixelFormat_AV_PIX_FMT_GBRP16BE: AVPixelFormat = 76; +pub const AVPixelFormat_AV_PIX_FMT_GBRP16LE: AVPixelFormat = 77; +pub const AVPixelFormat_AV_PIX_FMT_YUVA422P: AVPixelFormat = 78; +pub const AVPixelFormat_AV_PIX_FMT_YUVA444P: AVPixelFormat = 79; +pub const AVPixelFormat_AV_PIX_FMT_YUVA420P9BE: AVPixelFormat = 80; +pub const AVPixelFormat_AV_PIX_FMT_YUVA420P9LE: AVPixelFormat = 81; +pub const AVPixelFormat_AV_PIX_FMT_YUVA422P9BE: AVPixelFormat = 82; +pub const AVPixelFormat_AV_PIX_FMT_YUVA422P9LE: AVPixelFormat = 83; +pub const AVPixelFormat_AV_PIX_FMT_YUVA444P9BE: AVPixelFormat = 84; +pub const AVPixelFormat_AV_PIX_FMT_YUVA444P9LE: AVPixelFormat = 85; +pub const AVPixelFormat_AV_PIX_FMT_YUVA420P10BE: AVPixelFormat = 86; +pub const AVPixelFormat_AV_PIX_FMT_YUVA420P10LE: AVPixelFormat = 87; +pub const AVPixelFormat_AV_PIX_FMT_YUVA422P10BE: AVPixelFormat = 88; +pub const AVPixelFormat_AV_PIX_FMT_YUVA422P10LE: AVPixelFormat = 89; +pub const AVPixelFormat_AV_PIX_FMT_YUVA444P10BE: AVPixelFormat = 90; +pub const AVPixelFormat_AV_PIX_FMT_YUVA444P10LE: AVPixelFormat = 91; +pub const AVPixelFormat_AV_PIX_FMT_YUVA420P16BE: AVPixelFormat = 92; +pub const AVPixelFormat_AV_PIX_FMT_YUVA420P16LE: AVPixelFormat = 93; +pub const AVPixelFormat_AV_PIX_FMT_YUVA422P16BE: AVPixelFormat = 94; +pub const AVPixelFormat_AV_PIX_FMT_YUVA422P16LE: AVPixelFormat = 95; +pub const AVPixelFormat_AV_PIX_FMT_YUVA444P16BE: AVPixelFormat = 96; +pub const AVPixelFormat_AV_PIX_FMT_YUVA444P16LE: AVPixelFormat = 97; +pub const AVPixelFormat_AV_PIX_FMT_VDPAU: AVPixelFormat = 98; +pub const AVPixelFormat_AV_PIX_FMT_XYZ12LE: AVPixelFormat = 99; +pub const AVPixelFormat_AV_PIX_FMT_XYZ12BE: AVPixelFormat = 100; +pub const AVPixelFormat_AV_PIX_FMT_NV16: AVPixelFormat = 101; +pub const AVPixelFormat_AV_PIX_FMT_NV20LE: AVPixelFormat = 102; +pub const AVPixelFormat_AV_PIX_FMT_NV20BE: AVPixelFormat = 103; +pub const AVPixelFormat_AV_PIX_FMT_RGBA64BE: AVPixelFormat = 104; +pub const AVPixelFormat_AV_PIX_FMT_RGBA64LE: AVPixelFormat = 105; +pub const AVPixelFormat_AV_PIX_FMT_BGRA64BE: AVPixelFormat = 106; +pub const AVPixelFormat_AV_PIX_FMT_BGRA64LE: AVPixelFormat = 107; +pub const AVPixelFormat_AV_PIX_FMT_YVYU422: AVPixelFormat = 108; +pub const AVPixelFormat_AV_PIX_FMT_YA16BE: AVPixelFormat = 109; +pub const AVPixelFormat_AV_PIX_FMT_YA16LE: AVPixelFormat = 110; +pub const AVPixelFormat_AV_PIX_FMT_GBRAP: AVPixelFormat = 111; +pub const AVPixelFormat_AV_PIX_FMT_GBRAP16BE: AVPixelFormat = 112; +pub const AVPixelFormat_AV_PIX_FMT_GBRAP16LE: AVPixelFormat = 113; +pub const AVPixelFormat_AV_PIX_FMT_QSV: AVPixelFormat = 114; +pub const AVPixelFormat_AV_PIX_FMT_MMAL: AVPixelFormat = 115; +pub const AVPixelFormat_AV_PIX_FMT_D3D11VA_VLD: AVPixelFormat = 116; +pub const AVPixelFormat_AV_PIX_FMT_CUDA: AVPixelFormat = 117; +pub const AVPixelFormat_AV_PIX_FMT_0RGB: AVPixelFormat = 118; +pub const AVPixelFormat_AV_PIX_FMT_RGB0: AVPixelFormat = 119; +pub const AVPixelFormat_AV_PIX_FMT_0BGR: AVPixelFormat = 120; +pub const AVPixelFormat_AV_PIX_FMT_BGR0: AVPixelFormat = 121; +pub const AVPixelFormat_AV_PIX_FMT_YUV420P12BE: AVPixelFormat = 122; +pub const AVPixelFormat_AV_PIX_FMT_YUV420P12LE: AVPixelFormat = 123; +pub const AVPixelFormat_AV_PIX_FMT_YUV420P14BE: AVPixelFormat = 124; +pub const AVPixelFormat_AV_PIX_FMT_YUV420P14LE: AVPixelFormat = 125; +pub const AVPixelFormat_AV_PIX_FMT_YUV422P12BE: AVPixelFormat = 126; +pub const AVPixelFormat_AV_PIX_FMT_YUV422P12LE: AVPixelFormat = 127; +pub const AVPixelFormat_AV_PIX_FMT_YUV422P14BE: AVPixelFormat = 128; +pub const AVPixelFormat_AV_PIX_FMT_YUV422P14LE: AVPixelFormat = 129; +pub const AVPixelFormat_AV_PIX_FMT_YUV444P12BE: AVPixelFormat = 130; +pub const AVPixelFormat_AV_PIX_FMT_YUV444P12LE: AVPixelFormat = 131; +pub const AVPixelFormat_AV_PIX_FMT_YUV444P14BE: AVPixelFormat = 132; +pub const AVPixelFormat_AV_PIX_FMT_YUV444P14LE: AVPixelFormat = 133; +pub const AVPixelFormat_AV_PIX_FMT_GBRP12BE: AVPixelFormat = 134; +pub const AVPixelFormat_AV_PIX_FMT_GBRP12LE: AVPixelFormat = 135; +pub const AVPixelFormat_AV_PIX_FMT_GBRP14BE: AVPixelFormat = 136; +pub const AVPixelFormat_AV_PIX_FMT_GBRP14LE: AVPixelFormat = 137; +pub const AVPixelFormat_AV_PIX_FMT_YUVJ411P: AVPixelFormat = 138; +pub const AVPixelFormat_AV_PIX_FMT_BAYER_BGGR8: AVPixelFormat = 139; +pub const AVPixelFormat_AV_PIX_FMT_BAYER_RGGB8: AVPixelFormat = 140; +pub const AVPixelFormat_AV_PIX_FMT_BAYER_GBRG8: AVPixelFormat = 141; +pub const AVPixelFormat_AV_PIX_FMT_BAYER_GRBG8: AVPixelFormat = 142; +pub const AVPixelFormat_AV_PIX_FMT_BAYER_BGGR16LE: AVPixelFormat = 143; +pub const AVPixelFormat_AV_PIX_FMT_BAYER_BGGR16BE: AVPixelFormat = 144; +pub const AVPixelFormat_AV_PIX_FMT_BAYER_RGGB16LE: AVPixelFormat = 145; +pub const AVPixelFormat_AV_PIX_FMT_BAYER_RGGB16BE: AVPixelFormat = 146; +pub const AVPixelFormat_AV_PIX_FMT_BAYER_GBRG16LE: AVPixelFormat = 147; +pub const AVPixelFormat_AV_PIX_FMT_BAYER_GBRG16BE: AVPixelFormat = 148; +pub const AVPixelFormat_AV_PIX_FMT_BAYER_GRBG16LE: AVPixelFormat = 149; +pub const AVPixelFormat_AV_PIX_FMT_BAYER_GRBG16BE: AVPixelFormat = 150; +pub const AVPixelFormat_AV_PIX_FMT_YUV440P10LE: AVPixelFormat = 151; +pub const AVPixelFormat_AV_PIX_FMT_YUV440P10BE: AVPixelFormat = 152; +pub const AVPixelFormat_AV_PIX_FMT_YUV440P12LE: AVPixelFormat = 153; +pub const AVPixelFormat_AV_PIX_FMT_YUV440P12BE: AVPixelFormat = 154; +pub const AVPixelFormat_AV_PIX_FMT_AYUV64LE: AVPixelFormat = 155; +pub const AVPixelFormat_AV_PIX_FMT_AYUV64BE: AVPixelFormat = 156; +pub const AVPixelFormat_AV_PIX_FMT_VIDEOTOOLBOX: AVPixelFormat = 157; +pub const AVPixelFormat_AV_PIX_FMT_P010LE: AVPixelFormat = 158; +pub const AVPixelFormat_AV_PIX_FMT_P010BE: AVPixelFormat = 159; +pub const AVPixelFormat_AV_PIX_FMT_GBRAP12BE: AVPixelFormat = 160; +pub const AVPixelFormat_AV_PIX_FMT_GBRAP12LE: AVPixelFormat = 161; +pub const AVPixelFormat_AV_PIX_FMT_GBRAP10BE: AVPixelFormat = 162; +pub const AVPixelFormat_AV_PIX_FMT_GBRAP10LE: AVPixelFormat = 163; +pub const AVPixelFormat_AV_PIX_FMT_MEDIACODEC: AVPixelFormat = 164; +pub const AVPixelFormat_AV_PIX_FMT_GRAY12BE: AVPixelFormat = 165; +pub const AVPixelFormat_AV_PIX_FMT_GRAY12LE: AVPixelFormat = 166; +pub const AVPixelFormat_AV_PIX_FMT_GRAY10BE: AVPixelFormat = 167; +pub const AVPixelFormat_AV_PIX_FMT_GRAY10LE: AVPixelFormat = 168; +pub const AVPixelFormat_AV_PIX_FMT_P016LE: AVPixelFormat = 169; +pub const AVPixelFormat_AV_PIX_FMT_P016BE: AVPixelFormat = 170; +pub const AVPixelFormat_AV_PIX_FMT_D3D11: AVPixelFormat = 171; +pub const AVPixelFormat_AV_PIX_FMT_GRAY9BE: AVPixelFormat = 172; +pub const AVPixelFormat_AV_PIX_FMT_GRAY9LE: AVPixelFormat = 173; +pub const AVPixelFormat_AV_PIX_FMT_GBRPF32BE: AVPixelFormat = 174; +pub const AVPixelFormat_AV_PIX_FMT_GBRPF32LE: AVPixelFormat = 175; +pub const AVPixelFormat_AV_PIX_FMT_GBRAPF32BE: AVPixelFormat = 176; +pub const AVPixelFormat_AV_PIX_FMT_GBRAPF32LE: AVPixelFormat = 177; +pub const AVPixelFormat_AV_PIX_FMT_DRM_PRIME: AVPixelFormat = 178; +pub const AVPixelFormat_AV_PIX_FMT_OPENCL: AVPixelFormat = 179; +pub const AVPixelFormat_AV_PIX_FMT_GRAY14BE: AVPixelFormat = 180; +pub const AVPixelFormat_AV_PIX_FMT_GRAY14LE: AVPixelFormat = 181; +pub const AVPixelFormat_AV_PIX_FMT_GRAYF32BE: AVPixelFormat = 182; +pub const AVPixelFormat_AV_PIX_FMT_GRAYF32LE: AVPixelFormat = 183; +pub const AVPixelFormat_AV_PIX_FMT_YUVA422P12BE: AVPixelFormat = 184; +pub const AVPixelFormat_AV_PIX_FMT_YUVA422P12LE: AVPixelFormat = 185; +pub const AVPixelFormat_AV_PIX_FMT_YUVA444P12BE: AVPixelFormat = 186; +pub const AVPixelFormat_AV_PIX_FMT_YUVA444P12LE: AVPixelFormat = 187; +pub const AVPixelFormat_AV_PIX_FMT_NV24: AVPixelFormat = 188; +pub const AVPixelFormat_AV_PIX_FMT_NV42: AVPixelFormat = 189; +pub const AVPixelFormat_AV_PIX_FMT_VULKAN: AVPixelFormat = 190; +pub const AVPixelFormat_AV_PIX_FMT_Y210BE: AVPixelFormat = 191; +pub const AVPixelFormat_AV_PIX_FMT_Y210LE: AVPixelFormat = 192; +pub const AVPixelFormat_AV_PIX_FMT_X2RGB10LE: AVPixelFormat = 193; +pub const AVPixelFormat_AV_PIX_FMT_X2RGB10BE: AVPixelFormat = 194; +pub const AVPixelFormat_AV_PIX_FMT_X2BGR10LE: AVPixelFormat = 195; +pub const AVPixelFormat_AV_PIX_FMT_X2BGR10BE: AVPixelFormat = 196; +pub const AVPixelFormat_AV_PIX_FMT_P210BE: AVPixelFormat = 197; +pub const AVPixelFormat_AV_PIX_FMT_P210LE: AVPixelFormat = 198; +pub const AVPixelFormat_AV_PIX_FMT_P410BE: AVPixelFormat = 199; +pub const AVPixelFormat_AV_PIX_FMT_P410LE: AVPixelFormat = 200; +pub const AVPixelFormat_AV_PIX_FMT_P216BE: AVPixelFormat = 201; +pub const AVPixelFormat_AV_PIX_FMT_P216LE: AVPixelFormat = 202; +pub const AVPixelFormat_AV_PIX_FMT_P416BE: AVPixelFormat = 203; +pub const AVPixelFormat_AV_PIX_FMT_P416LE: AVPixelFormat = 204; +pub const AVPixelFormat_AV_PIX_FMT_VUYA: AVPixelFormat = 205; +pub const AVPixelFormat_AV_PIX_FMT_RGBAF16BE: AVPixelFormat = 206; +pub const AVPixelFormat_AV_PIX_FMT_RGBAF16LE: AVPixelFormat = 207; +pub const AVPixelFormat_AV_PIX_FMT_VUYX: AVPixelFormat = 208; +pub const AVPixelFormat_AV_PIX_FMT_P012LE: AVPixelFormat = 209; +pub const AVPixelFormat_AV_PIX_FMT_P012BE: AVPixelFormat = 210; +pub const AVPixelFormat_AV_PIX_FMT_Y212BE: AVPixelFormat = 211; +pub const AVPixelFormat_AV_PIX_FMT_Y212LE: AVPixelFormat = 212; +pub const AVPixelFormat_AV_PIX_FMT_XV30BE: AVPixelFormat = 213; +pub const AVPixelFormat_AV_PIX_FMT_XV30LE: AVPixelFormat = 214; +pub const AVPixelFormat_AV_PIX_FMT_XV36BE: AVPixelFormat = 215; +pub const AVPixelFormat_AV_PIX_FMT_XV36LE: AVPixelFormat = 216; +pub const AVPixelFormat_AV_PIX_FMT_RGBF32BE: AVPixelFormat = 217; +pub const AVPixelFormat_AV_PIX_FMT_RGBF32LE: AVPixelFormat = 218; +pub const AVPixelFormat_AV_PIX_FMT_RGBAF32BE: AVPixelFormat = 219; +pub const AVPixelFormat_AV_PIX_FMT_RGBAF32LE: AVPixelFormat = 220; +pub const AVPixelFormat_AV_PIX_FMT_P212BE: AVPixelFormat = 221; +pub const AVPixelFormat_AV_PIX_FMT_P212LE: AVPixelFormat = 222; +pub const AVPixelFormat_AV_PIX_FMT_P412BE: AVPixelFormat = 223; +pub const AVPixelFormat_AV_PIX_FMT_P412LE: AVPixelFormat = 224; +pub const AVPixelFormat_AV_PIX_FMT_GBRAP14BE: AVPixelFormat = 225; +pub const AVPixelFormat_AV_PIX_FMT_GBRAP14LE: AVPixelFormat = 226; +pub const AVPixelFormat_AV_PIX_FMT_D3D12: AVPixelFormat = 227; +pub const AVPixelFormat_AV_PIX_FMT_AYUV: AVPixelFormat = 228; +pub const AVPixelFormat_AV_PIX_FMT_UYVA: AVPixelFormat = 229; +pub const AVPixelFormat_AV_PIX_FMT_VYU444: AVPixelFormat = 230; +pub const AVPixelFormat_AV_PIX_FMT_V30XBE: AVPixelFormat = 231; +pub const AVPixelFormat_AV_PIX_FMT_V30XLE: AVPixelFormat = 232; +pub const AVPixelFormat_AV_PIX_FMT_RGBF16BE: AVPixelFormat = 233; +pub const AVPixelFormat_AV_PIX_FMT_RGBF16LE: AVPixelFormat = 234; +pub const AVPixelFormat_AV_PIX_FMT_RGBA128BE: AVPixelFormat = 235; +pub const AVPixelFormat_AV_PIX_FMT_RGBA128LE: AVPixelFormat = 236; +pub const AVPixelFormat_AV_PIX_FMT_RGB96BE: AVPixelFormat = 237; +pub const AVPixelFormat_AV_PIX_FMT_RGB96LE: AVPixelFormat = 238; +pub const AVPixelFormat_AV_PIX_FMT_Y216BE: AVPixelFormat = 239; +pub const AVPixelFormat_AV_PIX_FMT_Y216LE: AVPixelFormat = 240; +pub const AVPixelFormat_AV_PIX_FMT_XV48BE: AVPixelFormat = 241; +pub const AVPixelFormat_AV_PIX_FMT_XV48LE: AVPixelFormat = 242; +pub const AVPixelFormat_AV_PIX_FMT_GBRPF16BE: AVPixelFormat = 243; +pub const AVPixelFormat_AV_PIX_FMT_GBRPF16LE: AVPixelFormat = 244; +pub const AVPixelFormat_AV_PIX_FMT_GBRAPF16BE: AVPixelFormat = 245; +pub const AVPixelFormat_AV_PIX_FMT_GBRAPF16LE: AVPixelFormat = 246; +pub const AVPixelFormat_AV_PIX_FMT_GRAYF16BE: AVPixelFormat = 247; +pub const AVPixelFormat_AV_PIX_FMT_GRAYF16LE: AVPixelFormat = 248; +pub const AVPixelFormat_AV_PIX_FMT_AMF_SURFACE: AVPixelFormat = 249; +pub const AVPixelFormat_AV_PIX_FMT_GRAY32BE: AVPixelFormat = 250; +pub const AVPixelFormat_AV_PIX_FMT_GRAY32LE: AVPixelFormat = 251; +pub const AVPixelFormat_AV_PIX_FMT_YAF32BE: AVPixelFormat = 252; +pub const AVPixelFormat_AV_PIX_FMT_YAF32LE: AVPixelFormat = 253; +pub const AVPixelFormat_AV_PIX_FMT_YAF16BE: AVPixelFormat = 254; +pub const AVPixelFormat_AV_PIX_FMT_YAF16LE: AVPixelFormat = 255; +pub const AVPixelFormat_AV_PIX_FMT_GBRAP32BE: AVPixelFormat = 256; +pub const AVPixelFormat_AV_PIX_FMT_GBRAP32LE: AVPixelFormat = 257; +pub const AVPixelFormat_AV_PIX_FMT_YUV444P10MSBBE: AVPixelFormat = 258; +pub const AVPixelFormat_AV_PIX_FMT_YUV444P10MSBLE: AVPixelFormat = 259; +pub const AVPixelFormat_AV_PIX_FMT_YUV444P12MSBBE: AVPixelFormat = 260; +pub const AVPixelFormat_AV_PIX_FMT_YUV444P12MSBLE: AVPixelFormat = 261; +pub const AVPixelFormat_AV_PIX_FMT_GBRP10MSBBE: AVPixelFormat = 262; +pub const AVPixelFormat_AV_PIX_FMT_GBRP10MSBLE: AVPixelFormat = 263; +pub const AVPixelFormat_AV_PIX_FMT_GBRP12MSBBE: AVPixelFormat = 264; +pub const AVPixelFormat_AV_PIX_FMT_GBRP12MSBLE: AVPixelFormat = 265; +pub const AVPixelFormat_AV_PIX_FMT_OHCODEC: AVPixelFormat = 266; +pub const AVPixelFormat_AV_PIX_FMT_NB: AVPixelFormat = 267; +pub type AVPixelFormat = ::std::os::raw::c_int; +pub const AVColorPrimaries_AVCOL_PRI_RESERVED0: AVColorPrimaries = 0; +pub const AVColorPrimaries_AVCOL_PRI_BT709: AVColorPrimaries = 1; +pub const AVColorPrimaries_AVCOL_PRI_UNSPECIFIED: AVColorPrimaries = 2; +pub const AVColorPrimaries_AVCOL_PRI_RESERVED: AVColorPrimaries = 3; +pub const AVColorPrimaries_AVCOL_PRI_BT470M: AVColorPrimaries = 4; +pub const AVColorPrimaries_AVCOL_PRI_BT470BG: AVColorPrimaries = 5; +pub const AVColorPrimaries_AVCOL_PRI_SMPTE170M: AVColorPrimaries = 6; +pub const AVColorPrimaries_AVCOL_PRI_SMPTE240M: AVColorPrimaries = 7; +pub const AVColorPrimaries_AVCOL_PRI_FILM: AVColorPrimaries = 8; +pub const AVColorPrimaries_AVCOL_PRI_BT2020: AVColorPrimaries = 9; +pub const AVColorPrimaries_AVCOL_PRI_SMPTE428: AVColorPrimaries = 10; +pub const AVColorPrimaries_AVCOL_PRI_SMPTEST428_1: AVColorPrimaries = 10; +pub const AVColorPrimaries_AVCOL_PRI_SMPTE431: AVColorPrimaries = 11; +pub const AVColorPrimaries_AVCOL_PRI_SMPTE432: AVColorPrimaries = 12; +pub const AVColorPrimaries_AVCOL_PRI_EBU3213: AVColorPrimaries = 22; +pub const AVColorPrimaries_AVCOL_PRI_JEDEC_P22: AVColorPrimaries = 22; +pub const AVColorPrimaries_AVCOL_PRI_NB: AVColorPrimaries = 23; +pub type AVColorPrimaries = ::std::os::raw::c_int; +pub const AVColorTransferCharacteristic_AVCOL_TRC_RESERVED0: AVColorTransferCharacteristic = 0; +pub const AVColorTransferCharacteristic_AVCOL_TRC_BT709: AVColorTransferCharacteristic = 1; +pub const AVColorTransferCharacteristic_AVCOL_TRC_UNSPECIFIED: AVColorTransferCharacteristic = 2; +pub const AVColorTransferCharacteristic_AVCOL_TRC_RESERVED: AVColorTransferCharacteristic = 3; +pub const AVColorTransferCharacteristic_AVCOL_TRC_GAMMA22: AVColorTransferCharacteristic = 4; +pub const AVColorTransferCharacteristic_AVCOL_TRC_GAMMA28: AVColorTransferCharacteristic = 5; +pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE170M: AVColorTransferCharacteristic = 6; +pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE240M: AVColorTransferCharacteristic = 7; +pub const AVColorTransferCharacteristic_AVCOL_TRC_LINEAR: AVColorTransferCharacteristic = 8; +pub const AVColorTransferCharacteristic_AVCOL_TRC_LOG: AVColorTransferCharacteristic = 9; +pub const AVColorTransferCharacteristic_AVCOL_TRC_LOG_SQRT: AVColorTransferCharacteristic = 10; +pub const AVColorTransferCharacteristic_AVCOL_TRC_IEC61966_2_4: AVColorTransferCharacteristic = 11; +pub const AVColorTransferCharacteristic_AVCOL_TRC_BT1361_ECG: AVColorTransferCharacteristic = 12; +pub const AVColorTransferCharacteristic_AVCOL_TRC_IEC61966_2_1: AVColorTransferCharacteristic = 13; +pub const AVColorTransferCharacteristic_AVCOL_TRC_BT2020_10: AVColorTransferCharacteristic = 14; +pub const AVColorTransferCharacteristic_AVCOL_TRC_BT2020_12: AVColorTransferCharacteristic = 15; +pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE2084: AVColorTransferCharacteristic = 16; +pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTEST2084: AVColorTransferCharacteristic = 16; +pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE428: AVColorTransferCharacteristic = 17; +pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTEST428_1: AVColorTransferCharacteristic = 17; +pub const AVColorTransferCharacteristic_AVCOL_TRC_ARIB_STD_B67: AVColorTransferCharacteristic = 18; +pub const AVColorTransferCharacteristic_AVCOL_TRC_NB: AVColorTransferCharacteristic = 19; +pub type AVColorTransferCharacteristic = ::std::os::raw::c_int; +pub const AVColorSpace_AVCOL_SPC_RGB: AVColorSpace = 0; +pub const AVColorSpace_AVCOL_SPC_BT709: AVColorSpace = 1; +pub const AVColorSpace_AVCOL_SPC_UNSPECIFIED: AVColorSpace = 2; +pub const AVColorSpace_AVCOL_SPC_RESERVED: AVColorSpace = 3; +pub const AVColorSpace_AVCOL_SPC_FCC: AVColorSpace = 4; +pub const AVColorSpace_AVCOL_SPC_BT470BG: AVColorSpace = 5; +pub const AVColorSpace_AVCOL_SPC_SMPTE170M: AVColorSpace = 6; +pub const AVColorSpace_AVCOL_SPC_SMPTE240M: AVColorSpace = 7; +pub const AVColorSpace_AVCOL_SPC_YCGCO: AVColorSpace = 8; +pub const AVColorSpace_AVCOL_SPC_YCOCG: AVColorSpace = 8; +pub const AVColorSpace_AVCOL_SPC_BT2020_NCL: AVColorSpace = 9; +pub const AVColorSpace_AVCOL_SPC_BT2020_CL: AVColorSpace = 10; +pub const AVColorSpace_AVCOL_SPC_SMPTE2085: AVColorSpace = 11; +pub const AVColorSpace_AVCOL_SPC_CHROMA_DERIVED_NCL: AVColorSpace = 12; +pub const AVColorSpace_AVCOL_SPC_CHROMA_DERIVED_CL: AVColorSpace = 13; +pub const AVColorSpace_AVCOL_SPC_ICTCP: AVColorSpace = 14; +pub const AVColorSpace_AVCOL_SPC_IPT_C2: AVColorSpace = 15; +pub const AVColorSpace_AVCOL_SPC_YCGCO_RE: AVColorSpace = 16; +pub const AVColorSpace_AVCOL_SPC_YCGCO_RO: AVColorSpace = 17; +pub const AVColorSpace_AVCOL_SPC_NB: AVColorSpace = 18; +pub type AVColorSpace = ::std::os::raw::c_int; +pub const AVColorRange_AVCOL_RANGE_UNSPECIFIED: AVColorRange = 0; +pub const AVColorRange_AVCOL_RANGE_MPEG: AVColorRange = 1; +pub const AVColorRange_AVCOL_RANGE_JPEG: AVColorRange = 2; +pub const AVColorRange_AVCOL_RANGE_NB: AVColorRange = 3; +pub type AVColorRange = ::std::os::raw::c_int; +pub const AVChromaLocation_AVCHROMA_LOC_UNSPECIFIED: AVChromaLocation = 0; +pub const AVChromaLocation_AVCHROMA_LOC_LEFT: AVChromaLocation = 1; +pub const AVChromaLocation_AVCHROMA_LOC_CENTER: AVChromaLocation = 2; +pub const AVChromaLocation_AVCHROMA_LOC_TOPLEFT: AVChromaLocation = 3; +pub const AVChromaLocation_AVCHROMA_LOC_TOP: AVChromaLocation = 4; +pub const AVChromaLocation_AVCHROMA_LOC_BOTTOMLEFT: AVChromaLocation = 5; +pub const AVChromaLocation_AVCHROMA_LOC_BOTTOM: AVChromaLocation = 6; +pub const AVChromaLocation_AVCHROMA_LOC_NB: AVChromaLocation = 7; +pub type AVChromaLocation = ::std::os::raw::c_int; +pub const AVChannel_AV_CHAN_NONE: AVChannel = -1; +pub const AVChannel_AV_CHAN_FRONT_LEFT: AVChannel = 0; +pub const AVChannel_AV_CHAN_FRONT_RIGHT: AVChannel = 1; +pub const AVChannel_AV_CHAN_FRONT_CENTER: AVChannel = 2; +pub const AVChannel_AV_CHAN_LOW_FREQUENCY: AVChannel = 3; +pub const AVChannel_AV_CHAN_BACK_LEFT: AVChannel = 4; +pub const AVChannel_AV_CHAN_BACK_RIGHT: AVChannel = 5; +pub const AVChannel_AV_CHAN_FRONT_LEFT_OF_CENTER: AVChannel = 6; +pub const AVChannel_AV_CHAN_FRONT_RIGHT_OF_CENTER: AVChannel = 7; +pub const AVChannel_AV_CHAN_BACK_CENTER: AVChannel = 8; +pub const AVChannel_AV_CHAN_SIDE_LEFT: AVChannel = 9; +pub const AVChannel_AV_CHAN_SIDE_RIGHT: AVChannel = 10; +pub const AVChannel_AV_CHAN_TOP_CENTER: AVChannel = 11; +pub const AVChannel_AV_CHAN_TOP_FRONT_LEFT: AVChannel = 12; +pub const AVChannel_AV_CHAN_TOP_FRONT_CENTER: AVChannel = 13; +pub const AVChannel_AV_CHAN_TOP_FRONT_RIGHT: AVChannel = 14; +pub const AVChannel_AV_CHAN_TOP_BACK_LEFT: AVChannel = 15; +pub const AVChannel_AV_CHAN_TOP_BACK_CENTER: AVChannel = 16; +pub const AVChannel_AV_CHAN_TOP_BACK_RIGHT: AVChannel = 17; +pub const AVChannel_AV_CHAN_STEREO_LEFT: AVChannel = 29; +pub const AVChannel_AV_CHAN_STEREO_RIGHT: AVChannel = 30; +pub const AVChannel_AV_CHAN_WIDE_LEFT: AVChannel = 31; +pub const AVChannel_AV_CHAN_WIDE_RIGHT: AVChannel = 32; +pub const AVChannel_AV_CHAN_SURROUND_DIRECT_LEFT: AVChannel = 33; +pub const AVChannel_AV_CHAN_SURROUND_DIRECT_RIGHT: AVChannel = 34; +pub const AVChannel_AV_CHAN_LOW_FREQUENCY_2: AVChannel = 35; +pub const AVChannel_AV_CHAN_TOP_SIDE_LEFT: AVChannel = 36; +pub const AVChannel_AV_CHAN_TOP_SIDE_RIGHT: AVChannel = 37; +pub const AVChannel_AV_CHAN_BOTTOM_FRONT_CENTER: AVChannel = 38; +pub const AVChannel_AV_CHAN_BOTTOM_FRONT_LEFT: AVChannel = 39; +pub const AVChannel_AV_CHAN_BOTTOM_FRONT_RIGHT: AVChannel = 40; +pub const AVChannel_AV_CHAN_SIDE_SURROUND_LEFT: AVChannel = 41; +pub const AVChannel_AV_CHAN_SIDE_SURROUND_RIGHT: AVChannel = 42; +pub const AVChannel_AV_CHAN_TOP_SURROUND_LEFT: AVChannel = 43; +pub const AVChannel_AV_CHAN_TOP_SURROUND_RIGHT: AVChannel = 44; +pub const AVChannel_AV_CHAN_BINAURAL_LEFT: AVChannel = 61; +pub const AVChannel_AV_CHAN_BINAURAL_RIGHT: AVChannel = 62; +pub const AVChannel_AV_CHAN_UNUSED: AVChannel = 512; +pub const AVChannel_AV_CHAN_UNKNOWN: AVChannel = 768; +pub const AVChannel_AV_CHAN_AMBISONIC_BASE: AVChannel = 1024; +pub const AVChannel_AV_CHAN_AMBISONIC_END: AVChannel = 2047; +pub type AVChannel = ::std::os::raw::c_int; +pub const AVChannelOrder_AV_CHANNEL_ORDER_UNSPEC: AVChannelOrder = 0; +pub const AVChannelOrder_AV_CHANNEL_ORDER_NATIVE: AVChannelOrder = 1; +pub const AVChannelOrder_AV_CHANNEL_ORDER_CUSTOM: AVChannelOrder = 2; +pub const AVChannelOrder_AV_CHANNEL_ORDER_AMBISONIC: AVChannelOrder = 3; +pub const AVChannelOrder_FF_CHANNEL_ORDER_NB: AVChannelOrder = 4; +pub type AVChannelOrder = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVChannelCustom { + pub id: AVChannel, + pub name: [::std::os::raw::c_char; 16usize], + pub opaque: *mut ::std::os::raw::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVChannelCustom"][::std::mem::size_of::() - 32usize]; + ["Alignment of AVChannelCustom"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVChannelCustom::id"][::std::mem::offset_of!(AVChannelCustom, id) - 0usize]; + ["Offset of field: AVChannelCustom::name"] + [::std::mem::offset_of!(AVChannelCustom, name) - 4usize]; + ["Offset of field: AVChannelCustom::opaque"] + [::std::mem::offset_of!(AVChannelCustom, opaque) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct AVChannelLayout { + pub order: AVChannelOrder, + pub nb_channels: ::std::os::raw::c_int, + pub u: AVChannelLayout__bindgen_ty_1, + pub opaque: *mut ::std::os::raw::c_void, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union AVChannelLayout__bindgen_ty_1 { + pub mask: u64, + pub map: *mut AVChannelCustom, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVChannelLayout__bindgen_ty_1"] + [::std::mem::size_of::() - 8usize]; + ["Alignment of AVChannelLayout__bindgen_ty_1"] + [::std::mem::align_of::() - 8usize]; + ["Offset of field: AVChannelLayout__bindgen_ty_1::mask"] + [::std::mem::offset_of!(AVChannelLayout__bindgen_ty_1, mask) - 0usize]; + ["Offset of field: AVChannelLayout__bindgen_ty_1::map"] + [::std::mem::offset_of!(AVChannelLayout__bindgen_ty_1, map) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVChannelLayout"][::std::mem::size_of::() - 24usize]; + ["Alignment of AVChannelLayout"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVChannelLayout::order"] + [::std::mem::offset_of!(AVChannelLayout, order) - 0usize]; + ["Offset of field: AVChannelLayout::nb_channels"] + [::std::mem::offset_of!(AVChannelLayout, nb_channels) - 4usize]; + ["Offset of field: AVChannelLayout::u"][::std::mem::offset_of!(AVChannelLayout, u) - 8usize]; + ["Offset of field: AVChannelLayout::opaque"] + [::std::mem::offset_of!(AVChannelLayout, opaque) - 16usize]; +}; +pub const AVSampleFormat_AV_SAMPLE_FMT_NONE: AVSampleFormat = -1; +pub const AVSampleFormat_AV_SAMPLE_FMT_U8: AVSampleFormat = 0; +pub const AVSampleFormat_AV_SAMPLE_FMT_S16: AVSampleFormat = 1; +pub const AVSampleFormat_AV_SAMPLE_FMT_S32: AVSampleFormat = 2; +pub const AVSampleFormat_AV_SAMPLE_FMT_FLT: AVSampleFormat = 3; +pub const AVSampleFormat_AV_SAMPLE_FMT_DBL: AVSampleFormat = 4; +pub const AVSampleFormat_AV_SAMPLE_FMT_U8P: AVSampleFormat = 5; +pub const AVSampleFormat_AV_SAMPLE_FMT_S16P: AVSampleFormat = 6; +pub const AVSampleFormat_AV_SAMPLE_FMT_S32P: AVSampleFormat = 7; +pub const AVSampleFormat_AV_SAMPLE_FMT_FLTP: AVSampleFormat = 8; +pub const AVSampleFormat_AV_SAMPLE_FMT_DBLP: AVSampleFormat = 9; +pub const AVSampleFormat_AV_SAMPLE_FMT_S64: AVSampleFormat = 10; +pub const AVSampleFormat_AV_SAMPLE_FMT_S64P: AVSampleFormat = 11; +pub const AVSampleFormat_AV_SAMPLE_FMT_NB: AVSampleFormat = 12; +pub type AVSampleFormat = ::std::os::raw::c_int; +pub const AVCodecID_AV_CODEC_ID_NONE: AVCodecID = 0; +pub const AVCodecID_AV_CODEC_ID_MPEG1VIDEO: AVCodecID = 1; +pub const AVCodecID_AV_CODEC_ID_MPEG2VIDEO: AVCodecID = 2; +pub const AVCodecID_AV_CODEC_ID_H261: AVCodecID = 3; +pub const AVCodecID_AV_CODEC_ID_H263: AVCodecID = 4; +pub const AVCodecID_AV_CODEC_ID_RV10: AVCodecID = 5; +pub const AVCodecID_AV_CODEC_ID_RV20: AVCodecID = 6; +pub const AVCodecID_AV_CODEC_ID_MJPEG: AVCodecID = 7; +pub const AVCodecID_AV_CODEC_ID_MJPEGB: AVCodecID = 8; +pub const AVCodecID_AV_CODEC_ID_LJPEG: AVCodecID = 9; +pub const AVCodecID_AV_CODEC_ID_SP5X: AVCodecID = 10; +pub const AVCodecID_AV_CODEC_ID_JPEGLS: AVCodecID = 11; +pub const AVCodecID_AV_CODEC_ID_MPEG4: AVCodecID = 12; +pub const AVCodecID_AV_CODEC_ID_RAWVIDEO: AVCodecID = 13; +pub const AVCodecID_AV_CODEC_ID_MSMPEG4V1: AVCodecID = 14; +pub const AVCodecID_AV_CODEC_ID_MSMPEG4V2: AVCodecID = 15; +pub const AVCodecID_AV_CODEC_ID_MSMPEG4V3: AVCodecID = 16; +pub const AVCodecID_AV_CODEC_ID_WMV1: AVCodecID = 17; +pub const AVCodecID_AV_CODEC_ID_WMV2: AVCodecID = 18; +pub const AVCodecID_AV_CODEC_ID_H263P: AVCodecID = 19; +pub const AVCodecID_AV_CODEC_ID_H263I: AVCodecID = 20; +pub const AVCodecID_AV_CODEC_ID_FLV1: AVCodecID = 21; +pub const AVCodecID_AV_CODEC_ID_SVQ1: AVCodecID = 22; +pub const AVCodecID_AV_CODEC_ID_SVQ3: AVCodecID = 23; +pub const AVCodecID_AV_CODEC_ID_DVVIDEO: AVCodecID = 24; +pub const AVCodecID_AV_CODEC_ID_HUFFYUV: AVCodecID = 25; +pub const AVCodecID_AV_CODEC_ID_CYUV: AVCodecID = 26; +pub const AVCodecID_AV_CODEC_ID_H264: AVCodecID = 27; +pub const AVCodecID_AV_CODEC_ID_INDEO3: AVCodecID = 28; +pub const AVCodecID_AV_CODEC_ID_VP3: AVCodecID = 29; +pub const AVCodecID_AV_CODEC_ID_THEORA: AVCodecID = 30; +pub const AVCodecID_AV_CODEC_ID_ASV1: AVCodecID = 31; +pub const AVCodecID_AV_CODEC_ID_ASV2: AVCodecID = 32; +pub const AVCodecID_AV_CODEC_ID_FFV1: AVCodecID = 33; +pub const AVCodecID_AV_CODEC_ID_4XM: AVCodecID = 34; +pub const AVCodecID_AV_CODEC_ID_VCR1: AVCodecID = 35; +pub const AVCodecID_AV_CODEC_ID_CLJR: AVCodecID = 36; +pub const AVCodecID_AV_CODEC_ID_MDEC: AVCodecID = 37; +pub const AVCodecID_AV_CODEC_ID_ROQ: AVCodecID = 38; +pub const AVCodecID_AV_CODEC_ID_INTERPLAY_VIDEO: AVCodecID = 39; +pub const AVCodecID_AV_CODEC_ID_XAN_WC3: AVCodecID = 40; +pub const AVCodecID_AV_CODEC_ID_XAN_WC4: AVCodecID = 41; +pub const AVCodecID_AV_CODEC_ID_RPZA: AVCodecID = 42; +pub const AVCodecID_AV_CODEC_ID_CINEPAK: AVCodecID = 43; +pub const AVCodecID_AV_CODEC_ID_WS_VQA: AVCodecID = 44; +pub const AVCodecID_AV_CODEC_ID_MSRLE: AVCodecID = 45; +pub const AVCodecID_AV_CODEC_ID_MSVIDEO1: AVCodecID = 46; +pub const AVCodecID_AV_CODEC_ID_IDCIN: AVCodecID = 47; +pub const AVCodecID_AV_CODEC_ID_8BPS: AVCodecID = 48; +pub const AVCodecID_AV_CODEC_ID_SMC: AVCodecID = 49; +pub const AVCodecID_AV_CODEC_ID_FLIC: AVCodecID = 50; +pub const AVCodecID_AV_CODEC_ID_TRUEMOTION1: AVCodecID = 51; +pub const AVCodecID_AV_CODEC_ID_VMDVIDEO: AVCodecID = 52; +pub const AVCodecID_AV_CODEC_ID_MSZH: AVCodecID = 53; +pub const AVCodecID_AV_CODEC_ID_ZLIB: AVCodecID = 54; +pub const AVCodecID_AV_CODEC_ID_QTRLE: AVCodecID = 55; +pub const AVCodecID_AV_CODEC_ID_TSCC: AVCodecID = 56; +pub const AVCodecID_AV_CODEC_ID_ULTI: AVCodecID = 57; +pub const AVCodecID_AV_CODEC_ID_QDRAW: AVCodecID = 58; +pub const AVCodecID_AV_CODEC_ID_VIXL: AVCodecID = 59; +pub const AVCodecID_AV_CODEC_ID_QPEG: AVCodecID = 60; +pub const AVCodecID_AV_CODEC_ID_PNG: AVCodecID = 61; +pub const AVCodecID_AV_CODEC_ID_PPM: AVCodecID = 62; +pub const AVCodecID_AV_CODEC_ID_PBM: AVCodecID = 63; +pub const AVCodecID_AV_CODEC_ID_PGM: AVCodecID = 64; +pub const AVCodecID_AV_CODEC_ID_PGMYUV: AVCodecID = 65; +pub const AVCodecID_AV_CODEC_ID_PAM: AVCodecID = 66; +pub const AVCodecID_AV_CODEC_ID_FFVHUFF: AVCodecID = 67; +pub const AVCodecID_AV_CODEC_ID_RV30: AVCodecID = 68; +pub const AVCodecID_AV_CODEC_ID_RV40: AVCodecID = 69; +pub const AVCodecID_AV_CODEC_ID_VC1: AVCodecID = 70; +pub const AVCodecID_AV_CODEC_ID_WMV3: AVCodecID = 71; +pub const AVCodecID_AV_CODEC_ID_LOCO: AVCodecID = 72; +pub const AVCodecID_AV_CODEC_ID_WNV1: AVCodecID = 73; +pub const AVCodecID_AV_CODEC_ID_AASC: AVCodecID = 74; +pub const AVCodecID_AV_CODEC_ID_INDEO2: AVCodecID = 75; +pub const AVCodecID_AV_CODEC_ID_FRAPS: AVCodecID = 76; +pub const AVCodecID_AV_CODEC_ID_TRUEMOTION2: AVCodecID = 77; +pub const AVCodecID_AV_CODEC_ID_BMP: AVCodecID = 78; +pub const AVCodecID_AV_CODEC_ID_CSCD: AVCodecID = 79; +pub const AVCodecID_AV_CODEC_ID_MMVIDEO: AVCodecID = 80; +pub const AVCodecID_AV_CODEC_ID_ZMBV: AVCodecID = 81; +pub const AVCodecID_AV_CODEC_ID_AVS: AVCodecID = 82; +pub const AVCodecID_AV_CODEC_ID_SMACKVIDEO: AVCodecID = 83; +pub const AVCodecID_AV_CODEC_ID_NUV: AVCodecID = 84; +pub const AVCodecID_AV_CODEC_ID_KMVC: AVCodecID = 85; +pub const AVCodecID_AV_CODEC_ID_FLASHSV: AVCodecID = 86; +pub const AVCodecID_AV_CODEC_ID_CAVS: AVCodecID = 87; +pub const AVCodecID_AV_CODEC_ID_JPEG2000: AVCodecID = 88; +pub const AVCodecID_AV_CODEC_ID_VMNC: AVCodecID = 89; +pub const AVCodecID_AV_CODEC_ID_VP5: AVCodecID = 90; +pub const AVCodecID_AV_CODEC_ID_VP6: AVCodecID = 91; +pub const AVCodecID_AV_CODEC_ID_VP6F: AVCodecID = 92; +pub const AVCodecID_AV_CODEC_ID_TARGA: AVCodecID = 93; +pub const AVCodecID_AV_CODEC_ID_DSICINVIDEO: AVCodecID = 94; +pub const AVCodecID_AV_CODEC_ID_TIERTEXSEQVIDEO: AVCodecID = 95; +pub const AVCodecID_AV_CODEC_ID_TIFF: AVCodecID = 96; +pub const AVCodecID_AV_CODEC_ID_GIF: AVCodecID = 97; +pub const AVCodecID_AV_CODEC_ID_DXA: AVCodecID = 98; +pub const AVCodecID_AV_CODEC_ID_DNXHD: AVCodecID = 99; +pub const AVCodecID_AV_CODEC_ID_THP: AVCodecID = 100; +pub const AVCodecID_AV_CODEC_ID_SGI: AVCodecID = 101; +pub const AVCodecID_AV_CODEC_ID_C93: AVCodecID = 102; +pub const AVCodecID_AV_CODEC_ID_BETHSOFTVID: AVCodecID = 103; +pub const AVCodecID_AV_CODEC_ID_PTX: AVCodecID = 104; +pub const AVCodecID_AV_CODEC_ID_TXD: AVCodecID = 105; +pub const AVCodecID_AV_CODEC_ID_VP6A: AVCodecID = 106; +pub const AVCodecID_AV_CODEC_ID_AMV: AVCodecID = 107; +pub const AVCodecID_AV_CODEC_ID_VB: AVCodecID = 108; +pub const AVCodecID_AV_CODEC_ID_PCX: AVCodecID = 109; +pub const AVCodecID_AV_CODEC_ID_SUNRAST: AVCodecID = 110; +pub const AVCodecID_AV_CODEC_ID_INDEO4: AVCodecID = 111; +pub const AVCodecID_AV_CODEC_ID_INDEO5: AVCodecID = 112; +pub const AVCodecID_AV_CODEC_ID_MIMIC: AVCodecID = 113; +pub const AVCodecID_AV_CODEC_ID_RL2: AVCodecID = 114; +pub const AVCodecID_AV_CODEC_ID_ESCAPE124: AVCodecID = 115; +pub const AVCodecID_AV_CODEC_ID_DIRAC: AVCodecID = 116; +pub const AVCodecID_AV_CODEC_ID_BFI: AVCodecID = 117; +pub const AVCodecID_AV_CODEC_ID_CMV: AVCodecID = 118; +pub const AVCodecID_AV_CODEC_ID_MOTIONPIXELS: AVCodecID = 119; +pub const AVCodecID_AV_CODEC_ID_TGV: AVCodecID = 120; +pub const AVCodecID_AV_CODEC_ID_TGQ: AVCodecID = 121; +pub const AVCodecID_AV_CODEC_ID_TQI: AVCodecID = 122; +pub const AVCodecID_AV_CODEC_ID_AURA: AVCodecID = 123; +pub const AVCodecID_AV_CODEC_ID_AURA2: AVCodecID = 124; +pub const AVCodecID_AV_CODEC_ID_V210X: AVCodecID = 125; +pub const AVCodecID_AV_CODEC_ID_TMV: AVCodecID = 126; +pub const AVCodecID_AV_CODEC_ID_V210: AVCodecID = 127; +pub const AVCodecID_AV_CODEC_ID_DPX: AVCodecID = 128; +pub const AVCodecID_AV_CODEC_ID_MAD: AVCodecID = 129; +pub const AVCodecID_AV_CODEC_ID_FRWU: AVCodecID = 130; +pub const AVCodecID_AV_CODEC_ID_FLASHSV2: AVCodecID = 131; +pub const AVCodecID_AV_CODEC_ID_CDGRAPHICS: AVCodecID = 132; +pub const AVCodecID_AV_CODEC_ID_R210: AVCodecID = 133; +pub const AVCodecID_AV_CODEC_ID_ANM: AVCodecID = 134; +pub const AVCodecID_AV_CODEC_ID_BINKVIDEO: AVCodecID = 135; +pub const AVCodecID_AV_CODEC_ID_IFF_ILBM: AVCodecID = 136; +pub const AVCodecID_AV_CODEC_ID_KGV1: AVCodecID = 137; +pub const AVCodecID_AV_CODEC_ID_YOP: AVCodecID = 138; +pub const AVCodecID_AV_CODEC_ID_VP8: AVCodecID = 139; +pub const AVCodecID_AV_CODEC_ID_PICTOR: AVCodecID = 140; +pub const AVCodecID_AV_CODEC_ID_ANSI: AVCodecID = 141; +pub const AVCodecID_AV_CODEC_ID_A64_MULTI: AVCodecID = 142; +pub const AVCodecID_AV_CODEC_ID_A64_MULTI5: AVCodecID = 143; +pub const AVCodecID_AV_CODEC_ID_R10K: AVCodecID = 144; +pub const AVCodecID_AV_CODEC_ID_MXPEG: AVCodecID = 145; +pub const AVCodecID_AV_CODEC_ID_LAGARITH: AVCodecID = 146; +pub const AVCodecID_AV_CODEC_ID_PRORES: AVCodecID = 147; +pub const AVCodecID_AV_CODEC_ID_JV: AVCodecID = 148; +pub const AVCodecID_AV_CODEC_ID_DFA: AVCodecID = 149; +pub const AVCodecID_AV_CODEC_ID_WMV3IMAGE: AVCodecID = 150; +pub const AVCodecID_AV_CODEC_ID_VC1IMAGE: AVCodecID = 151; +pub const AVCodecID_AV_CODEC_ID_UTVIDEO: AVCodecID = 152; +pub const AVCodecID_AV_CODEC_ID_BMV_VIDEO: AVCodecID = 153; +pub const AVCodecID_AV_CODEC_ID_VBLE: AVCodecID = 154; +pub const AVCodecID_AV_CODEC_ID_DXTORY: AVCodecID = 155; +pub const AVCodecID_AV_CODEC_ID_V410: AVCodecID = 156; +pub const AVCodecID_AV_CODEC_ID_XWD: AVCodecID = 157; +pub const AVCodecID_AV_CODEC_ID_CDXL: AVCodecID = 158; +pub const AVCodecID_AV_CODEC_ID_XBM: AVCodecID = 159; +pub const AVCodecID_AV_CODEC_ID_ZEROCODEC: AVCodecID = 160; +pub const AVCodecID_AV_CODEC_ID_MSS1: AVCodecID = 161; +pub const AVCodecID_AV_CODEC_ID_MSA1: AVCodecID = 162; +pub const AVCodecID_AV_CODEC_ID_TSCC2: AVCodecID = 163; +pub const AVCodecID_AV_CODEC_ID_MTS2: AVCodecID = 164; +pub const AVCodecID_AV_CODEC_ID_CLLC: AVCodecID = 165; +pub const AVCodecID_AV_CODEC_ID_MSS2: AVCodecID = 166; +pub const AVCodecID_AV_CODEC_ID_VP9: AVCodecID = 167; +pub const AVCodecID_AV_CODEC_ID_AIC: AVCodecID = 168; +pub const AVCodecID_AV_CODEC_ID_ESCAPE130: AVCodecID = 169; +pub const AVCodecID_AV_CODEC_ID_G2M: AVCodecID = 170; +pub const AVCodecID_AV_CODEC_ID_WEBP: AVCodecID = 171; +pub const AVCodecID_AV_CODEC_ID_HNM4_VIDEO: AVCodecID = 172; +pub const AVCodecID_AV_CODEC_ID_HEVC: AVCodecID = 173; +pub const AVCodecID_AV_CODEC_ID_FIC: AVCodecID = 174; +pub const AVCodecID_AV_CODEC_ID_ALIAS_PIX: AVCodecID = 175; +pub const AVCodecID_AV_CODEC_ID_BRENDER_PIX: AVCodecID = 176; +pub const AVCodecID_AV_CODEC_ID_PAF_VIDEO: AVCodecID = 177; +pub const AVCodecID_AV_CODEC_ID_EXR: AVCodecID = 178; +pub const AVCodecID_AV_CODEC_ID_VP7: AVCodecID = 179; +pub const AVCodecID_AV_CODEC_ID_SANM: AVCodecID = 180; +pub const AVCodecID_AV_CODEC_ID_SGIRLE: AVCodecID = 181; +pub const AVCodecID_AV_CODEC_ID_MVC1: AVCodecID = 182; +pub const AVCodecID_AV_CODEC_ID_MVC2: AVCodecID = 183; +pub const AVCodecID_AV_CODEC_ID_HQX: AVCodecID = 184; +pub const AVCodecID_AV_CODEC_ID_TDSC: AVCodecID = 185; +pub const AVCodecID_AV_CODEC_ID_HQ_HQA: AVCodecID = 186; +pub const AVCodecID_AV_CODEC_ID_HAP: AVCodecID = 187; +pub const AVCodecID_AV_CODEC_ID_DDS: AVCodecID = 188; +pub const AVCodecID_AV_CODEC_ID_DXV: AVCodecID = 189; +pub const AVCodecID_AV_CODEC_ID_SCREENPRESSO: AVCodecID = 190; +pub const AVCodecID_AV_CODEC_ID_RSCC: AVCodecID = 191; +pub const AVCodecID_AV_CODEC_ID_AVS2: AVCodecID = 192; +pub const AVCodecID_AV_CODEC_ID_PGX: AVCodecID = 193; +pub const AVCodecID_AV_CODEC_ID_AVS3: AVCodecID = 194; +pub const AVCodecID_AV_CODEC_ID_MSP2: AVCodecID = 195; +pub const AVCodecID_AV_CODEC_ID_VVC: AVCodecID = 196; +pub const AVCodecID_AV_CODEC_ID_Y41P: AVCodecID = 197; +pub const AVCodecID_AV_CODEC_ID_AVRP: AVCodecID = 198; +pub const AVCodecID_AV_CODEC_ID_012V: AVCodecID = 199; +pub const AVCodecID_AV_CODEC_ID_AVUI: AVCodecID = 200; +pub const AVCodecID_AV_CODEC_ID_TARGA_Y216: AVCodecID = 201; +pub const AVCodecID_AV_CODEC_ID_V308: AVCodecID = 202; +pub const AVCodecID_AV_CODEC_ID_V408: AVCodecID = 203; +pub const AVCodecID_AV_CODEC_ID_YUV4: AVCodecID = 204; +pub const AVCodecID_AV_CODEC_ID_AVRN: AVCodecID = 205; +pub const AVCodecID_AV_CODEC_ID_CPIA: AVCodecID = 206; +pub const AVCodecID_AV_CODEC_ID_XFACE: AVCodecID = 207; +pub const AVCodecID_AV_CODEC_ID_SNOW: AVCodecID = 208; +pub const AVCodecID_AV_CODEC_ID_SMVJPEG: AVCodecID = 209; +pub const AVCodecID_AV_CODEC_ID_APNG: AVCodecID = 210; +pub const AVCodecID_AV_CODEC_ID_DAALA: AVCodecID = 211; +pub const AVCodecID_AV_CODEC_ID_CFHD: AVCodecID = 212; +pub const AVCodecID_AV_CODEC_ID_TRUEMOTION2RT: AVCodecID = 213; +pub const AVCodecID_AV_CODEC_ID_M101: AVCodecID = 214; +pub const AVCodecID_AV_CODEC_ID_MAGICYUV: AVCodecID = 215; +pub const AVCodecID_AV_CODEC_ID_SHEERVIDEO: AVCodecID = 216; +pub const AVCodecID_AV_CODEC_ID_YLC: AVCodecID = 217; +pub const AVCodecID_AV_CODEC_ID_PSD: AVCodecID = 218; +pub const AVCodecID_AV_CODEC_ID_PIXLET: AVCodecID = 219; +pub const AVCodecID_AV_CODEC_ID_SPEEDHQ: AVCodecID = 220; +pub const AVCodecID_AV_CODEC_ID_FMVC: AVCodecID = 221; +pub const AVCodecID_AV_CODEC_ID_SCPR: AVCodecID = 222; +pub const AVCodecID_AV_CODEC_ID_CLEARVIDEO: AVCodecID = 223; +pub const AVCodecID_AV_CODEC_ID_XPM: AVCodecID = 224; +pub const AVCodecID_AV_CODEC_ID_AV1: AVCodecID = 225; +pub const AVCodecID_AV_CODEC_ID_BITPACKED: AVCodecID = 226; +pub const AVCodecID_AV_CODEC_ID_MSCC: AVCodecID = 227; +pub const AVCodecID_AV_CODEC_ID_SRGC: AVCodecID = 228; +pub const AVCodecID_AV_CODEC_ID_SVG: AVCodecID = 229; +pub const AVCodecID_AV_CODEC_ID_GDV: AVCodecID = 230; +pub const AVCodecID_AV_CODEC_ID_FITS: AVCodecID = 231; +pub const AVCodecID_AV_CODEC_ID_IMM4: AVCodecID = 232; +pub const AVCodecID_AV_CODEC_ID_PROSUMER: AVCodecID = 233; +pub const AVCodecID_AV_CODEC_ID_MWSC: AVCodecID = 234; +pub const AVCodecID_AV_CODEC_ID_WCMV: AVCodecID = 235; +pub const AVCodecID_AV_CODEC_ID_RASC: AVCodecID = 236; +pub const AVCodecID_AV_CODEC_ID_HYMT: AVCodecID = 237; +pub const AVCodecID_AV_CODEC_ID_ARBC: AVCodecID = 238; +pub const AVCodecID_AV_CODEC_ID_AGM: AVCodecID = 239; +pub const AVCodecID_AV_CODEC_ID_LSCR: AVCodecID = 240; +pub const AVCodecID_AV_CODEC_ID_VP4: AVCodecID = 241; +pub const AVCodecID_AV_CODEC_ID_IMM5: AVCodecID = 242; +pub const AVCodecID_AV_CODEC_ID_MVDV: AVCodecID = 243; +pub const AVCodecID_AV_CODEC_ID_MVHA: AVCodecID = 244; +pub const AVCodecID_AV_CODEC_ID_CDTOONS: AVCodecID = 245; +pub const AVCodecID_AV_CODEC_ID_MV30: AVCodecID = 246; +pub const AVCodecID_AV_CODEC_ID_NOTCHLC: AVCodecID = 247; +pub const AVCodecID_AV_CODEC_ID_PFM: AVCodecID = 248; +pub const AVCodecID_AV_CODEC_ID_MOBICLIP: AVCodecID = 249; +pub const AVCodecID_AV_CODEC_ID_PHOTOCD: AVCodecID = 250; +pub const AVCodecID_AV_CODEC_ID_IPU: AVCodecID = 251; +pub const AVCodecID_AV_CODEC_ID_ARGO: AVCodecID = 252; +pub const AVCodecID_AV_CODEC_ID_CRI: AVCodecID = 253; +pub const AVCodecID_AV_CODEC_ID_SIMBIOSIS_IMX: AVCodecID = 254; +pub const AVCodecID_AV_CODEC_ID_SGA_VIDEO: AVCodecID = 255; +pub const AVCodecID_AV_CODEC_ID_GEM: AVCodecID = 256; +pub const AVCodecID_AV_CODEC_ID_VBN: AVCodecID = 257; +pub const AVCodecID_AV_CODEC_ID_JPEGXL: AVCodecID = 258; +pub const AVCodecID_AV_CODEC_ID_QOI: AVCodecID = 259; +pub const AVCodecID_AV_CODEC_ID_PHM: AVCodecID = 260; +pub const AVCodecID_AV_CODEC_ID_RADIANCE_HDR: AVCodecID = 261; +pub const AVCodecID_AV_CODEC_ID_WBMP: AVCodecID = 262; +pub const AVCodecID_AV_CODEC_ID_MEDIA100: AVCodecID = 263; +pub const AVCodecID_AV_CODEC_ID_VQC: AVCodecID = 264; +pub const AVCodecID_AV_CODEC_ID_PDV: AVCodecID = 265; +pub const AVCodecID_AV_CODEC_ID_EVC: AVCodecID = 266; +pub const AVCodecID_AV_CODEC_ID_RTV1: AVCodecID = 267; +pub const AVCodecID_AV_CODEC_ID_VMIX: AVCodecID = 268; +pub const AVCodecID_AV_CODEC_ID_LEAD: AVCodecID = 269; +pub const AVCodecID_AV_CODEC_ID_DNXUC: AVCodecID = 270; +pub const AVCodecID_AV_CODEC_ID_RV60: AVCodecID = 271; +pub const AVCodecID_AV_CODEC_ID_JPEGXL_ANIM: AVCodecID = 272; +pub const AVCodecID_AV_CODEC_ID_APV: AVCodecID = 273; +pub const AVCodecID_AV_CODEC_ID_PRORES_RAW: AVCodecID = 274; +pub const AVCodecID_AV_CODEC_ID_FIRST_AUDIO: AVCodecID = 65536; +pub const AVCodecID_AV_CODEC_ID_PCM_S16LE: AVCodecID = 65536; +pub const AVCodecID_AV_CODEC_ID_PCM_S16BE: AVCodecID = 65537; +pub const AVCodecID_AV_CODEC_ID_PCM_U16LE: AVCodecID = 65538; +pub const AVCodecID_AV_CODEC_ID_PCM_U16BE: AVCodecID = 65539; +pub const AVCodecID_AV_CODEC_ID_PCM_S8: AVCodecID = 65540; +pub const AVCodecID_AV_CODEC_ID_PCM_U8: AVCodecID = 65541; +pub const AVCodecID_AV_CODEC_ID_PCM_MULAW: AVCodecID = 65542; +pub const AVCodecID_AV_CODEC_ID_PCM_ALAW: AVCodecID = 65543; +pub const AVCodecID_AV_CODEC_ID_PCM_S32LE: AVCodecID = 65544; +pub const AVCodecID_AV_CODEC_ID_PCM_S32BE: AVCodecID = 65545; +pub const AVCodecID_AV_CODEC_ID_PCM_U32LE: AVCodecID = 65546; +pub const AVCodecID_AV_CODEC_ID_PCM_U32BE: AVCodecID = 65547; +pub const AVCodecID_AV_CODEC_ID_PCM_S24LE: AVCodecID = 65548; +pub const AVCodecID_AV_CODEC_ID_PCM_S24BE: AVCodecID = 65549; +pub const AVCodecID_AV_CODEC_ID_PCM_U24LE: AVCodecID = 65550; +pub const AVCodecID_AV_CODEC_ID_PCM_U24BE: AVCodecID = 65551; +pub const AVCodecID_AV_CODEC_ID_PCM_S24DAUD: AVCodecID = 65552; +pub const AVCodecID_AV_CODEC_ID_PCM_ZORK: AVCodecID = 65553; +pub const AVCodecID_AV_CODEC_ID_PCM_S16LE_PLANAR: AVCodecID = 65554; +pub const AVCodecID_AV_CODEC_ID_PCM_DVD: AVCodecID = 65555; +pub const AVCodecID_AV_CODEC_ID_PCM_F32BE: AVCodecID = 65556; +pub const AVCodecID_AV_CODEC_ID_PCM_F32LE: AVCodecID = 65557; +pub const AVCodecID_AV_CODEC_ID_PCM_F64BE: AVCodecID = 65558; +pub const AVCodecID_AV_CODEC_ID_PCM_F64LE: AVCodecID = 65559; +pub const AVCodecID_AV_CODEC_ID_PCM_BLURAY: AVCodecID = 65560; +pub const AVCodecID_AV_CODEC_ID_PCM_LXF: AVCodecID = 65561; +pub const AVCodecID_AV_CODEC_ID_S302M: AVCodecID = 65562; +pub const AVCodecID_AV_CODEC_ID_PCM_S8_PLANAR: AVCodecID = 65563; +pub const AVCodecID_AV_CODEC_ID_PCM_S24LE_PLANAR: AVCodecID = 65564; +pub const AVCodecID_AV_CODEC_ID_PCM_S32LE_PLANAR: AVCodecID = 65565; +pub const AVCodecID_AV_CODEC_ID_PCM_S16BE_PLANAR: AVCodecID = 65566; +pub const AVCodecID_AV_CODEC_ID_PCM_S64LE: AVCodecID = 65567; +pub const AVCodecID_AV_CODEC_ID_PCM_S64BE: AVCodecID = 65568; +pub const AVCodecID_AV_CODEC_ID_PCM_F16LE: AVCodecID = 65569; +pub const AVCodecID_AV_CODEC_ID_PCM_F24LE: AVCodecID = 65570; +pub const AVCodecID_AV_CODEC_ID_PCM_VIDC: AVCodecID = 65571; +pub const AVCodecID_AV_CODEC_ID_PCM_SGA: AVCodecID = 65572; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_QT: AVCodecID = 69632; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_WAV: AVCodecID = 69633; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_DK3: AVCodecID = 69634; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_DK4: AVCodecID = 69635; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_WS: AVCodecID = 69636; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_SMJPEG: AVCodecID = 69637; +pub const AVCodecID_AV_CODEC_ID_ADPCM_MS: AVCodecID = 69638; +pub const AVCodecID_AV_CODEC_ID_ADPCM_4XM: AVCodecID = 69639; +pub const AVCodecID_AV_CODEC_ID_ADPCM_XA: AVCodecID = 69640; +pub const AVCodecID_AV_CODEC_ID_ADPCM_ADX: AVCodecID = 69641; +pub const AVCodecID_AV_CODEC_ID_ADPCM_EA: AVCodecID = 69642; +pub const AVCodecID_AV_CODEC_ID_ADPCM_G726: AVCodecID = 69643; +pub const AVCodecID_AV_CODEC_ID_ADPCM_CT: AVCodecID = 69644; +pub const AVCodecID_AV_CODEC_ID_ADPCM_SWF: AVCodecID = 69645; +pub const AVCodecID_AV_CODEC_ID_ADPCM_YAMAHA: AVCodecID = 69646; +pub const AVCodecID_AV_CODEC_ID_ADPCM_SBPRO_4: AVCodecID = 69647; +pub const AVCodecID_AV_CODEC_ID_ADPCM_SBPRO_3: AVCodecID = 69648; +pub const AVCodecID_AV_CODEC_ID_ADPCM_SBPRO_2: AVCodecID = 69649; +pub const AVCodecID_AV_CODEC_ID_ADPCM_THP: AVCodecID = 69650; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_AMV: AVCodecID = 69651; +pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_R1: AVCodecID = 69652; +pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_R3: AVCodecID = 69653; +pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_R2: AVCodecID = 69654; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_EA_SEAD: AVCodecID = 69655; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_EA_EACS: AVCodecID = 69656; +pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_XAS: AVCodecID = 69657; +pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_MAXIS_XA: AVCodecID = 69658; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_ISS: AVCodecID = 69659; +pub const AVCodecID_AV_CODEC_ID_ADPCM_G722: AVCodecID = 69660; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_APC: AVCodecID = 69661; +pub const AVCodecID_AV_CODEC_ID_ADPCM_VIMA: AVCodecID = 69662; +pub const AVCodecID_AV_CODEC_ID_ADPCM_AFC: AVCodecID = 69663; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_OKI: AVCodecID = 69664; +pub const AVCodecID_AV_CODEC_ID_ADPCM_DTK: AVCodecID = 69665; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_RAD: AVCodecID = 69666; +pub const AVCodecID_AV_CODEC_ID_ADPCM_G726LE: AVCodecID = 69667; +pub const AVCodecID_AV_CODEC_ID_ADPCM_THP_LE: AVCodecID = 69668; +pub const AVCodecID_AV_CODEC_ID_ADPCM_PSX: AVCodecID = 69669; +pub const AVCodecID_AV_CODEC_ID_ADPCM_AICA: AVCodecID = 69670; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_DAT4: AVCodecID = 69671; +pub const AVCodecID_AV_CODEC_ID_ADPCM_MTAF: AVCodecID = 69672; +pub const AVCodecID_AV_CODEC_ID_ADPCM_AGM: AVCodecID = 69673; +pub const AVCodecID_AV_CODEC_ID_ADPCM_ARGO: AVCodecID = 69674; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_SSI: AVCodecID = 69675; +pub const AVCodecID_AV_CODEC_ID_ADPCM_ZORK: AVCodecID = 69676; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_APM: AVCodecID = 69677; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_ALP: AVCodecID = 69678; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_MTF: AVCodecID = 69679; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_CUNNING: AVCodecID = 69680; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_MOFLEX: AVCodecID = 69681; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_ACORN: AVCodecID = 69682; +pub const AVCodecID_AV_CODEC_ID_ADPCM_XMD: AVCodecID = 69683; +pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_XBOX: AVCodecID = 69684; +pub const AVCodecID_AV_CODEC_ID_ADPCM_SANYO: AVCodecID = 69685; +pub const AVCodecID_AV_CODEC_ID_AMR_NB: AVCodecID = 73728; +pub const AVCodecID_AV_CODEC_ID_AMR_WB: AVCodecID = 73729; +pub const AVCodecID_AV_CODEC_ID_RA_144: AVCodecID = 77824; +pub const AVCodecID_AV_CODEC_ID_RA_288: AVCodecID = 77825; +pub const AVCodecID_AV_CODEC_ID_ROQ_DPCM: AVCodecID = 81920; +pub const AVCodecID_AV_CODEC_ID_INTERPLAY_DPCM: AVCodecID = 81921; +pub const AVCodecID_AV_CODEC_ID_XAN_DPCM: AVCodecID = 81922; +pub const AVCodecID_AV_CODEC_ID_SOL_DPCM: AVCodecID = 81923; +pub const AVCodecID_AV_CODEC_ID_SDX2_DPCM: AVCodecID = 81924; +pub const AVCodecID_AV_CODEC_ID_GREMLIN_DPCM: AVCodecID = 81925; +pub const AVCodecID_AV_CODEC_ID_DERF_DPCM: AVCodecID = 81926; +pub const AVCodecID_AV_CODEC_ID_WADY_DPCM: AVCodecID = 81927; +pub const AVCodecID_AV_CODEC_ID_CBD2_DPCM: AVCodecID = 81928; +pub const AVCodecID_AV_CODEC_ID_MP2: AVCodecID = 86016; +pub const AVCodecID_AV_CODEC_ID_MP3: AVCodecID = 86017; +pub const AVCodecID_AV_CODEC_ID_AAC: AVCodecID = 86018; +pub const AVCodecID_AV_CODEC_ID_AC3: AVCodecID = 86019; +pub const AVCodecID_AV_CODEC_ID_DTS: AVCodecID = 86020; +pub const AVCodecID_AV_CODEC_ID_VORBIS: AVCodecID = 86021; +pub const AVCodecID_AV_CODEC_ID_DVAUDIO: AVCodecID = 86022; +pub const AVCodecID_AV_CODEC_ID_WMAV1: AVCodecID = 86023; +pub const AVCodecID_AV_CODEC_ID_WMAV2: AVCodecID = 86024; +pub const AVCodecID_AV_CODEC_ID_MACE3: AVCodecID = 86025; +pub const AVCodecID_AV_CODEC_ID_MACE6: AVCodecID = 86026; +pub const AVCodecID_AV_CODEC_ID_VMDAUDIO: AVCodecID = 86027; +pub const AVCodecID_AV_CODEC_ID_FLAC: AVCodecID = 86028; +pub const AVCodecID_AV_CODEC_ID_MP3ADU: AVCodecID = 86029; +pub const AVCodecID_AV_CODEC_ID_MP3ON4: AVCodecID = 86030; +pub const AVCodecID_AV_CODEC_ID_SHORTEN: AVCodecID = 86031; +pub const AVCodecID_AV_CODEC_ID_ALAC: AVCodecID = 86032; +pub const AVCodecID_AV_CODEC_ID_WESTWOOD_SND1: AVCodecID = 86033; +pub const AVCodecID_AV_CODEC_ID_GSM: AVCodecID = 86034; +pub const AVCodecID_AV_CODEC_ID_QDM2: AVCodecID = 86035; +pub const AVCodecID_AV_CODEC_ID_COOK: AVCodecID = 86036; +pub const AVCodecID_AV_CODEC_ID_TRUESPEECH: AVCodecID = 86037; +pub const AVCodecID_AV_CODEC_ID_TTA: AVCodecID = 86038; +pub const AVCodecID_AV_CODEC_ID_SMACKAUDIO: AVCodecID = 86039; +pub const AVCodecID_AV_CODEC_ID_QCELP: AVCodecID = 86040; +pub const AVCodecID_AV_CODEC_ID_WAVPACK: AVCodecID = 86041; +pub const AVCodecID_AV_CODEC_ID_DSICINAUDIO: AVCodecID = 86042; +pub const AVCodecID_AV_CODEC_ID_IMC: AVCodecID = 86043; +pub const AVCodecID_AV_CODEC_ID_MUSEPACK7: AVCodecID = 86044; +pub const AVCodecID_AV_CODEC_ID_MLP: AVCodecID = 86045; +pub const AVCodecID_AV_CODEC_ID_GSM_MS: AVCodecID = 86046; +pub const AVCodecID_AV_CODEC_ID_ATRAC3: AVCodecID = 86047; +pub const AVCodecID_AV_CODEC_ID_APE: AVCodecID = 86048; +pub const AVCodecID_AV_CODEC_ID_NELLYMOSER: AVCodecID = 86049; +pub const AVCodecID_AV_CODEC_ID_MUSEPACK8: AVCodecID = 86050; +pub const AVCodecID_AV_CODEC_ID_SPEEX: AVCodecID = 86051; +pub const AVCodecID_AV_CODEC_ID_WMAVOICE: AVCodecID = 86052; +pub const AVCodecID_AV_CODEC_ID_WMAPRO: AVCodecID = 86053; +pub const AVCodecID_AV_CODEC_ID_WMALOSSLESS: AVCodecID = 86054; +pub const AVCodecID_AV_CODEC_ID_ATRAC3P: AVCodecID = 86055; +pub const AVCodecID_AV_CODEC_ID_EAC3: AVCodecID = 86056; +pub const AVCodecID_AV_CODEC_ID_SIPR: AVCodecID = 86057; +pub const AVCodecID_AV_CODEC_ID_MP1: AVCodecID = 86058; +pub const AVCodecID_AV_CODEC_ID_TWINVQ: AVCodecID = 86059; +pub const AVCodecID_AV_CODEC_ID_TRUEHD: AVCodecID = 86060; +pub const AVCodecID_AV_CODEC_ID_MP4ALS: AVCodecID = 86061; +pub const AVCodecID_AV_CODEC_ID_ATRAC1: AVCodecID = 86062; +pub const AVCodecID_AV_CODEC_ID_BINKAUDIO_RDFT: AVCodecID = 86063; +pub const AVCodecID_AV_CODEC_ID_BINKAUDIO_DCT: AVCodecID = 86064; +pub const AVCodecID_AV_CODEC_ID_AAC_LATM: AVCodecID = 86065; +pub const AVCodecID_AV_CODEC_ID_QDMC: AVCodecID = 86066; +pub const AVCodecID_AV_CODEC_ID_CELT: AVCodecID = 86067; +pub const AVCodecID_AV_CODEC_ID_G723_1: AVCodecID = 86068; +pub const AVCodecID_AV_CODEC_ID_G729: AVCodecID = 86069; +pub const AVCodecID_AV_CODEC_ID_8SVX_EXP: AVCodecID = 86070; +pub const AVCodecID_AV_CODEC_ID_8SVX_FIB: AVCodecID = 86071; +pub const AVCodecID_AV_CODEC_ID_BMV_AUDIO: AVCodecID = 86072; +pub const AVCodecID_AV_CODEC_ID_RALF: AVCodecID = 86073; +pub const AVCodecID_AV_CODEC_ID_IAC: AVCodecID = 86074; +pub const AVCodecID_AV_CODEC_ID_ILBC: AVCodecID = 86075; +pub const AVCodecID_AV_CODEC_ID_OPUS: AVCodecID = 86076; +pub const AVCodecID_AV_CODEC_ID_COMFORT_NOISE: AVCodecID = 86077; +pub const AVCodecID_AV_CODEC_ID_TAK: AVCodecID = 86078; +pub const AVCodecID_AV_CODEC_ID_METASOUND: AVCodecID = 86079; +pub const AVCodecID_AV_CODEC_ID_PAF_AUDIO: AVCodecID = 86080; +pub const AVCodecID_AV_CODEC_ID_ON2AVC: AVCodecID = 86081; +pub const AVCodecID_AV_CODEC_ID_DSS_SP: AVCodecID = 86082; +pub const AVCodecID_AV_CODEC_ID_CODEC2: AVCodecID = 86083; +pub const AVCodecID_AV_CODEC_ID_FFWAVESYNTH: AVCodecID = 86084; +pub const AVCodecID_AV_CODEC_ID_SONIC: AVCodecID = 86085; +pub const AVCodecID_AV_CODEC_ID_SONIC_LS: AVCodecID = 86086; +pub const AVCodecID_AV_CODEC_ID_EVRC: AVCodecID = 86087; +pub const AVCodecID_AV_CODEC_ID_SMV: AVCodecID = 86088; +pub const AVCodecID_AV_CODEC_ID_DSD_LSBF: AVCodecID = 86089; +pub const AVCodecID_AV_CODEC_ID_DSD_MSBF: AVCodecID = 86090; +pub const AVCodecID_AV_CODEC_ID_DSD_LSBF_PLANAR: AVCodecID = 86091; +pub const AVCodecID_AV_CODEC_ID_DSD_MSBF_PLANAR: AVCodecID = 86092; +pub const AVCodecID_AV_CODEC_ID_4GV: AVCodecID = 86093; +pub const AVCodecID_AV_CODEC_ID_INTERPLAY_ACM: AVCodecID = 86094; +pub const AVCodecID_AV_CODEC_ID_XMA1: AVCodecID = 86095; +pub const AVCodecID_AV_CODEC_ID_XMA2: AVCodecID = 86096; +pub const AVCodecID_AV_CODEC_ID_DST: AVCodecID = 86097; +pub const AVCodecID_AV_CODEC_ID_ATRAC3AL: AVCodecID = 86098; +pub const AVCodecID_AV_CODEC_ID_ATRAC3PAL: AVCodecID = 86099; +pub const AVCodecID_AV_CODEC_ID_DOLBY_E: AVCodecID = 86100; +pub const AVCodecID_AV_CODEC_ID_APTX: AVCodecID = 86101; +pub const AVCodecID_AV_CODEC_ID_APTX_HD: AVCodecID = 86102; +pub const AVCodecID_AV_CODEC_ID_SBC: AVCodecID = 86103; +pub const AVCodecID_AV_CODEC_ID_ATRAC9: AVCodecID = 86104; +pub const AVCodecID_AV_CODEC_ID_HCOM: AVCodecID = 86105; +pub const AVCodecID_AV_CODEC_ID_ACELP_KELVIN: AVCodecID = 86106; +pub const AVCodecID_AV_CODEC_ID_MPEGH_3D_AUDIO: AVCodecID = 86107; +pub const AVCodecID_AV_CODEC_ID_SIREN: AVCodecID = 86108; +pub const AVCodecID_AV_CODEC_ID_HCA: AVCodecID = 86109; +pub const AVCodecID_AV_CODEC_ID_FASTAUDIO: AVCodecID = 86110; +pub const AVCodecID_AV_CODEC_ID_MSNSIREN: AVCodecID = 86111; +pub const AVCodecID_AV_CODEC_ID_DFPWM: AVCodecID = 86112; +pub const AVCodecID_AV_CODEC_ID_BONK: AVCodecID = 86113; +pub const AVCodecID_AV_CODEC_ID_MISC4: AVCodecID = 86114; +pub const AVCodecID_AV_CODEC_ID_APAC: AVCodecID = 86115; +pub const AVCodecID_AV_CODEC_ID_FTR: AVCodecID = 86116; +pub const AVCodecID_AV_CODEC_ID_WAVARC: AVCodecID = 86117; +pub const AVCodecID_AV_CODEC_ID_RKA: AVCodecID = 86118; +pub const AVCodecID_AV_CODEC_ID_AC4: AVCodecID = 86119; +pub const AVCodecID_AV_CODEC_ID_OSQ: AVCodecID = 86120; +pub const AVCodecID_AV_CODEC_ID_QOA: AVCodecID = 86121; +pub const AVCodecID_AV_CODEC_ID_LC3: AVCodecID = 86122; +pub const AVCodecID_AV_CODEC_ID_G728: AVCodecID = 86123; +pub const AVCodecID_AV_CODEC_ID_FIRST_SUBTITLE: AVCodecID = 94208; +pub const AVCodecID_AV_CODEC_ID_DVD_SUBTITLE: AVCodecID = 94208; +pub const AVCodecID_AV_CODEC_ID_DVB_SUBTITLE: AVCodecID = 94209; +pub const AVCodecID_AV_CODEC_ID_TEXT: AVCodecID = 94210; +pub const AVCodecID_AV_CODEC_ID_XSUB: AVCodecID = 94211; +pub const AVCodecID_AV_CODEC_ID_SSA: AVCodecID = 94212; +pub const AVCodecID_AV_CODEC_ID_MOV_TEXT: AVCodecID = 94213; +pub const AVCodecID_AV_CODEC_ID_HDMV_PGS_SUBTITLE: AVCodecID = 94214; +pub const AVCodecID_AV_CODEC_ID_DVB_TELETEXT: AVCodecID = 94215; +pub const AVCodecID_AV_CODEC_ID_SRT: AVCodecID = 94216; +pub const AVCodecID_AV_CODEC_ID_MICRODVD: AVCodecID = 94217; +pub const AVCodecID_AV_CODEC_ID_EIA_608: AVCodecID = 94218; +pub const AVCodecID_AV_CODEC_ID_JACOSUB: AVCodecID = 94219; +pub const AVCodecID_AV_CODEC_ID_SAMI: AVCodecID = 94220; +pub const AVCodecID_AV_CODEC_ID_REALTEXT: AVCodecID = 94221; +pub const AVCodecID_AV_CODEC_ID_STL: AVCodecID = 94222; +pub const AVCodecID_AV_CODEC_ID_SUBVIEWER1: AVCodecID = 94223; +pub const AVCodecID_AV_CODEC_ID_SUBVIEWER: AVCodecID = 94224; +pub const AVCodecID_AV_CODEC_ID_SUBRIP: AVCodecID = 94225; +pub const AVCodecID_AV_CODEC_ID_WEBVTT: AVCodecID = 94226; +pub const AVCodecID_AV_CODEC_ID_MPL2: AVCodecID = 94227; +pub const AVCodecID_AV_CODEC_ID_VPLAYER: AVCodecID = 94228; +pub const AVCodecID_AV_CODEC_ID_PJS: AVCodecID = 94229; +pub const AVCodecID_AV_CODEC_ID_ASS: AVCodecID = 94230; +pub const AVCodecID_AV_CODEC_ID_HDMV_TEXT_SUBTITLE: AVCodecID = 94231; +pub const AVCodecID_AV_CODEC_ID_TTML: AVCodecID = 94232; +pub const AVCodecID_AV_CODEC_ID_ARIB_CAPTION: AVCodecID = 94233; +pub const AVCodecID_AV_CODEC_ID_IVTV_VBI: AVCodecID = 94234; +pub const AVCodecID_AV_CODEC_ID_FIRST_UNKNOWN: AVCodecID = 98304; +pub const AVCodecID_AV_CODEC_ID_TTF: AVCodecID = 98304; +pub const AVCodecID_AV_CODEC_ID_SCTE_35: AVCodecID = 98305; +pub const AVCodecID_AV_CODEC_ID_EPG: AVCodecID = 98306; +pub const AVCodecID_AV_CODEC_ID_BINTEXT: AVCodecID = 98307; +pub const AVCodecID_AV_CODEC_ID_XBIN: AVCodecID = 98308; +pub const AVCodecID_AV_CODEC_ID_IDF: AVCodecID = 98309; +pub const AVCodecID_AV_CODEC_ID_OTF: AVCodecID = 98310; +pub const AVCodecID_AV_CODEC_ID_SMPTE_KLV: AVCodecID = 98311; +pub const AVCodecID_AV_CODEC_ID_DVD_NAV: AVCodecID = 98312; +pub const AVCodecID_AV_CODEC_ID_TIMED_ID3: AVCodecID = 98313; +pub const AVCodecID_AV_CODEC_ID_BIN_DATA: AVCodecID = 98314; +pub const AVCodecID_AV_CODEC_ID_SMPTE_2038: AVCodecID = 98315; +pub const AVCodecID_AV_CODEC_ID_LCEVC: AVCodecID = 98316; +pub const AVCodecID_AV_CODEC_ID_SMPTE_436M_ANC: AVCodecID = 98317; +pub const AVCodecID_AV_CODEC_ID_PROBE: AVCodecID = 102400; +pub const AVCodecID_AV_CODEC_ID_MPEG2TS: AVCodecID = 131072; +pub const AVCodecID_AV_CODEC_ID_MPEG4SYSTEMS: AVCodecID = 131073; +pub const AVCodecID_AV_CODEC_ID_FFMETADATA: AVCodecID = 135168; +pub const AVCodecID_AV_CODEC_ID_WRAPPED_AVFRAME: AVCodecID = 135169; +pub const AVCodecID_AV_CODEC_ID_VNULL: AVCodecID = 135170; +pub const AVCodecID_AV_CODEC_ID_ANULL: AVCodecID = 135171; +pub type AVCodecID = ::std::os::raw::c_int; +pub const AVFieldOrder_AV_FIELD_UNKNOWN: AVFieldOrder = 0; +pub const AVFieldOrder_AV_FIELD_PROGRESSIVE: AVFieldOrder = 1; +pub const AVFieldOrder_AV_FIELD_TT: AVFieldOrder = 2; +pub const AVFieldOrder_AV_FIELD_BB: AVFieldOrder = 3; +pub const AVFieldOrder_AV_FIELD_TB: AVFieldOrder = 4; +pub const AVFieldOrder_AV_FIELD_BT: AVFieldOrder = 5; +pub type AVFieldOrder = ::std::os::raw::c_int; +pub const AVDiscard_AVDISCARD_NONE: AVDiscard = -16; +pub const AVDiscard_AVDISCARD_DEFAULT: AVDiscard = 0; +pub const AVDiscard_AVDISCARD_NONREF: AVDiscard = 8; +pub const AVDiscard_AVDISCARD_BIDIR: AVDiscard = 16; +pub const AVDiscard_AVDISCARD_NONINTRA: AVDiscard = 24; +pub const AVDiscard_AVDISCARD_NONKEY: AVDiscard = 32; +pub const AVDiscard_AVDISCARD_ALL: AVDiscard = 48; +pub type AVDiscard = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVBuffer { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVBufferRef { + pub buffer: *mut AVBuffer, + pub data: *mut u8, + pub size: usize, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVBufferRef"][::std::mem::size_of::() - 24usize]; + ["Alignment of AVBufferRef"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVBufferRef::buffer"][::std::mem::offset_of!(AVBufferRef, buffer) - 0usize]; + ["Offset of field: AVBufferRef::data"][::std::mem::offset_of!(AVBufferRef, data) - 8usize]; + ["Offset of field: AVBufferRef::size"][::std::mem::offset_of!(AVBufferRef, size) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVDictionaryEntry { + pub key: *mut ::std::os::raw::c_char, + pub value: *mut ::std::os::raw::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVDictionaryEntry"][::std::mem::size_of::() - 16usize]; + ["Alignment of AVDictionaryEntry"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVDictionaryEntry::key"] + [::std::mem::offset_of!(AVDictionaryEntry, key) - 0usize]; + ["Offset of field: AVDictionaryEntry::value"] + [::std::mem::offset_of!(AVDictionaryEntry, value) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVDictionary { + _unused: [u8; 0], +} +unsafe extern "C" { + pub fn av_dict_get( + m: *const AVDictionary, + key: *const ::std::os::raw::c_char, + prev: *const AVDictionaryEntry, + flags: ::std::os::raw::c_int, + ) -> *mut AVDictionaryEntry; +} +unsafe extern "C" { + pub fn av_dict_count(m: *const AVDictionary) -> ::std::os::raw::c_int; +} +pub const AVPacketSideDataType_AV_PKT_DATA_PALETTE: AVPacketSideDataType = 0; +pub const AVPacketSideDataType_AV_PKT_DATA_NEW_EXTRADATA: AVPacketSideDataType = 1; +pub const AVPacketSideDataType_AV_PKT_DATA_PARAM_CHANGE: AVPacketSideDataType = 2; +pub const AVPacketSideDataType_AV_PKT_DATA_H263_MB_INFO: AVPacketSideDataType = 3; +pub const AVPacketSideDataType_AV_PKT_DATA_REPLAYGAIN: AVPacketSideDataType = 4; +pub const AVPacketSideDataType_AV_PKT_DATA_DISPLAYMATRIX: AVPacketSideDataType = 5; +pub const AVPacketSideDataType_AV_PKT_DATA_STEREO3D: AVPacketSideDataType = 6; +pub const AVPacketSideDataType_AV_PKT_DATA_AUDIO_SERVICE_TYPE: AVPacketSideDataType = 7; +pub const AVPacketSideDataType_AV_PKT_DATA_QUALITY_STATS: AVPacketSideDataType = 8; +pub const AVPacketSideDataType_AV_PKT_DATA_FALLBACK_TRACK: AVPacketSideDataType = 9; +pub const AVPacketSideDataType_AV_PKT_DATA_CPB_PROPERTIES: AVPacketSideDataType = 10; +pub const AVPacketSideDataType_AV_PKT_DATA_SKIP_SAMPLES: AVPacketSideDataType = 11; +pub const AVPacketSideDataType_AV_PKT_DATA_JP_DUALMONO: AVPacketSideDataType = 12; +pub const AVPacketSideDataType_AV_PKT_DATA_STRINGS_METADATA: AVPacketSideDataType = 13; +pub const AVPacketSideDataType_AV_PKT_DATA_SUBTITLE_POSITION: AVPacketSideDataType = 14; +pub const AVPacketSideDataType_AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL: AVPacketSideDataType = 15; +pub const AVPacketSideDataType_AV_PKT_DATA_WEBVTT_IDENTIFIER: AVPacketSideDataType = 16; +pub const AVPacketSideDataType_AV_PKT_DATA_WEBVTT_SETTINGS: AVPacketSideDataType = 17; +pub const AVPacketSideDataType_AV_PKT_DATA_METADATA_UPDATE: AVPacketSideDataType = 18; +pub const AVPacketSideDataType_AV_PKT_DATA_MPEGTS_STREAM_ID: AVPacketSideDataType = 19; +pub const AVPacketSideDataType_AV_PKT_DATA_MASTERING_DISPLAY_METADATA: AVPacketSideDataType = 20; +pub const AVPacketSideDataType_AV_PKT_DATA_SPHERICAL: AVPacketSideDataType = 21; +pub const AVPacketSideDataType_AV_PKT_DATA_CONTENT_LIGHT_LEVEL: AVPacketSideDataType = 22; +pub const AVPacketSideDataType_AV_PKT_DATA_A53_CC: AVPacketSideDataType = 23; +pub const AVPacketSideDataType_AV_PKT_DATA_ENCRYPTION_INIT_INFO: AVPacketSideDataType = 24; +pub const AVPacketSideDataType_AV_PKT_DATA_ENCRYPTION_INFO: AVPacketSideDataType = 25; +pub const AVPacketSideDataType_AV_PKT_DATA_AFD: AVPacketSideDataType = 26; +pub const AVPacketSideDataType_AV_PKT_DATA_PRFT: AVPacketSideDataType = 27; +pub const AVPacketSideDataType_AV_PKT_DATA_ICC_PROFILE: AVPacketSideDataType = 28; +pub const AVPacketSideDataType_AV_PKT_DATA_DOVI_CONF: AVPacketSideDataType = 29; +pub const AVPacketSideDataType_AV_PKT_DATA_S12M_TIMECODE: AVPacketSideDataType = 30; +pub const AVPacketSideDataType_AV_PKT_DATA_DYNAMIC_HDR10_PLUS: AVPacketSideDataType = 31; +pub const AVPacketSideDataType_AV_PKT_DATA_IAMF_MIX_GAIN_PARAM: AVPacketSideDataType = 32; +pub const AVPacketSideDataType_AV_PKT_DATA_IAMF_DEMIXING_INFO_PARAM: AVPacketSideDataType = 33; +pub const AVPacketSideDataType_AV_PKT_DATA_IAMF_RECON_GAIN_INFO_PARAM: AVPacketSideDataType = 34; +pub const AVPacketSideDataType_AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT: AVPacketSideDataType = 35; +pub const AVPacketSideDataType_AV_PKT_DATA_FRAME_CROPPING: AVPacketSideDataType = 36; +pub const AVPacketSideDataType_AV_PKT_DATA_LCEVC: AVPacketSideDataType = 37; +pub const AVPacketSideDataType_AV_PKT_DATA_3D_REFERENCE_DISPLAYS: AVPacketSideDataType = 38; +pub const AVPacketSideDataType_AV_PKT_DATA_RTCP_SR: AVPacketSideDataType = 39; +pub const AVPacketSideDataType_AV_PKT_DATA_NB: AVPacketSideDataType = 40; +pub type AVPacketSideDataType = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVPacketSideData { + pub data: *mut u8, + pub size: usize, + pub type_: AVPacketSideDataType, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVPacketSideData"][::std::mem::size_of::() - 24usize]; + ["Alignment of AVPacketSideData"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVPacketSideData::data"] + [::std::mem::offset_of!(AVPacketSideData, data) - 0usize]; + ["Offset of field: AVPacketSideData::size"] + [::std::mem::offset_of!(AVPacketSideData, size) - 8usize]; + ["Offset of field: AVPacketSideData::type_"] + [::std::mem::offset_of!(AVPacketSideData, type_) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVPacket { + pub buf: *mut AVBufferRef, + pub pts: i64, + pub dts: i64, + pub data: *mut u8, + pub size: ::std::os::raw::c_int, + pub stream_index: ::std::os::raw::c_int, + pub flags: ::std::os::raw::c_int, + pub side_data: *mut AVPacketSideData, + pub side_data_elems: ::std::os::raw::c_int, + pub duration: i64, + pub pos: i64, + pub opaque: *mut ::std::os::raw::c_void, + pub opaque_ref: *mut AVBufferRef, + pub time_base: AVRational, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVPacket"][::std::mem::size_of::() - 104usize]; + ["Alignment of AVPacket"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVPacket::buf"][::std::mem::offset_of!(AVPacket, buf) - 0usize]; + ["Offset of field: AVPacket::pts"][::std::mem::offset_of!(AVPacket, pts) - 8usize]; + ["Offset of field: AVPacket::dts"][::std::mem::offset_of!(AVPacket, dts) - 16usize]; + ["Offset of field: AVPacket::data"][::std::mem::offset_of!(AVPacket, data) - 24usize]; + ["Offset of field: AVPacket::size"][::std::mem::offset_of!(AVPacket, size) - 32usize]; + ["Offset of field: AVPacket::stream_index"] + [::std::mem::offset_of!(AVPacket, stream_index) - 36usize]; + ["Offset of field: AVPacket::flags"][::std::mem::offset_of!(AVPacket, flags) - 40usize]; + ["Offset of field: AVPacket::side_data"][::std::mem::offset_of!(AVPacket, side_data) - 48usize]; + ["Offset of field: AVPacket::side_data_elems"] + [::std::mem::offset_of!(AVPacket, side_data_elems) - 56usize]; + ["Offset of field: AVPacket::duration"][::std::mem::offset_of!(AVPacket, duration) - 64usize]; + ["Offset of field: AVPacket::pos"][::std::mem::offset_of!(AVPacket, pos) - 72usize]; + ["Offset of field: AVPacket::opaque"][::std::mem::offset_of!(AVPacket, opaque) - 80usize]; + ["Offset of field: AVPacket::opaque_ref"] + [::std::mem::offset_of!(AVPacket, opaque_ref) - 88usize]; + ["Offset of field: AVPacket::time_base"][::std::mem::offset_of!(AVPacket, time_base) - 96usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct AVCodecParameters { + pub codec_type: AVMediaType, + pub codec_id: AVCodecID, + pub codec_tag: u32, + pub extradata: *mut u8, + pub extradata_size: ::std::os::raw::c_int, + pub coded_side_data: *mut AVPacketSideData, + pub nb_coded_side_data: ::std::os::raw::c_int, + pub format: ::std::os::raw::c_int, + pub bit_rate: i64, + pub bits_per_coded_sample: ::std::os::raw::c_int, + pub bits_per_raw_sample: ::std::os::raw::c_int, + pub profile: ::std::os::raw::c_int, + pub level: ::std::os::raw::c_int, + pub width: ::std::os::raw::c_int, + pub height: ::std::os::raw::c_int, + pub sample_aspect_ratio: AVRational, + pub framerate: AVRational, + pub field_order: AVFieldOrder, + pub color_range: AVColorRange, + pub color_primaries: AVColorPrimaries, + pub color_trc: AVColorTransferCharacteristic, + pub color_space: AVColorSpace, + pub chroma_location: AVChromaLocation, + pub video_delay: ::std::os::raw::c_int, + pub ch_layout: AVChannelLayout, + pub sample_rate: ::std::os::raw::c_int, + pub block_align: ::std::os::raw::c_int, + pub frame_size: ::std::os::raw::c_int, + pub initial_padding: ::std::os::raw::c_int, + pub trailing_padding: ::std::os::raw::c_int, + pub seek_preroll: ::std::os::raw::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVCodecParameters"][::std::mem::size_of::() - 176usize]; + ["Alignment of AVCodecParameters"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVCodecParameters::codec_type"] + [::std::mem::offset_of!(AVCodecParameters, codec_type) - 0usize]; + ["Offset of field: AVCodecParameters::codec_id"] + [::std::mem::offset_of!(AVCodecParameters, codec_id) - 4usize]; + ["Offset of field: AVCodecParameters::codec_tag"] + [::std::mem::offset_of!(AVCodecParameters, codec_tag) - 8usize]; + ["Offset of field: AVCodecParameters::extradata"] + [::std::mem::offset_of!(AVCodecParameters, extradata) - 16usize]; + ["Offset of field: AVCodecParameters::extradata_size"] + [::std::mem::offset_of!(AVCodecParameters, extradata_size) - 24usize]; + ["Offset of field: AVCodecParameters::coded_side_data"] + [::std::mem::offset_of!(AVCodecParameters, coded_side_data) - 32usize]; + ["Offset of field: AVCodecParameters::nb_coded_side_data"] + [::std::mem::offset_of!(AVCodecParameters, nb_coded_side_data) - 40usize]; + ["Offset of field: AVCodecParameters::format"] + [::std::mem::offset_of!(AVCodecParameters, format) - 44usize]; + ["Offset of field: AVCodecParameters::bit_rate"] + [::std::mem::offset_of!(AVCodecParameters, bit_rate) - 48usize]; + ["Offset of field: AVCodecParameters::bits_per_coded_sample"] + [::std::mem::offset_of!(AVCodecParameters, bits_per_coded_sample) - 56usize]; + ["Offset of field: AVCodecParameters::bits_per_raw_sample"] + [::std::mem::offset_of!(AVCodecParameters, bits_per_raw_sample) - 60usize]; + ["Offset of field: AVCodecParameters::profile"] + [::std::mem::offset_of!(AVCodecParameters, profile) - 64usize]; + ["Offset of field: AVCodecParameters::level"] + [::std::mem::offset_of!(AVCodecParameters, level) - 68usize]; + ["Offset of field: AVCodecParameters::width"] + [::std::mem::offset_of!(AVCodecParameters, width) - 72usize]; + ["Offset of field: AVCodecParameters::height"] + [::std::mem::offset_of!(AVCodecParameters, height) - 76usize]; + ["Offset of field: AVCodecParameters::sample_aspect_ratio"] + [::std::mem::offset_of!(AVCodecParameters, sample_aspect_ratio) - 80usize]; + ["Offset of field: AVCodecParameters::framerate"] + [::std::mem::offset_of!(AVCodecParameters, framerate) - 88usize]; + ["Offset of field: AVCodecParameters::field_order"] + [::std::mem::offset_of!(AVCodecParameters, field_order) - 96usize]; + ["Offset of field: AVCodecParameters::color_range"] + [::std::mem::offset_of!(AVCodecParameters, color_range) - 100usize]; + ["Offset of field: AVCodecParameters::color_primaries"] + [::std::mem::offset_of!(AVCodecParameters, color_primaries) - 104usize]; + ["Offset of field: AVCodecParameters::color_trc"] + [::std::mem::offset_of!(AVCodecParameters, color_trc) - 108usize]; + ["Offset of field: AVCodecParameters::color_space"] + [::std::mem::offset_of!(AVCodecParameters, color_space) - 112usize]; + ["Offset of field: AVCodecParameters::chroma_location"] + [::std::mem::offset_of!(AVCodecParameters, chroma_location) - 116usize]; + ["Offset of field: AVCodecParameters::video_delay"] + [::std::mem::offset_of!(AVCodecParameters, video_delay) - 120usize]; + ["Offset of field: AVCodecParameters::ch_layout"] + [::std::mem::offset_of!(AVCodecParameters, ch_layout) - 128usize]; + ["Offset of field: AVCodecParameters::sample_rate"] + [::std::mem::offset_of!(AVCodecParameters, sample_rate) - 152usize]; + ["Offset of field: AVCodecParameters::block_align"] + [::std::mem::offset_of!(AVCodecParameters, block_align) - 156usize]; + ["Offset of field: AVCodecParameters::frame_size"] + [::std::mem::offset_of!(AVCodecParameters, frame_size) - 160usize]; + ["Offset of field: AVCodecParameters::initial_padding"] + [::std::mem::offset_of!(AVCodecParameters, initial_padding) - 164usize]; + ["Offset of field: AVCodecParameters::trailing_padding"] + [::std::mem::offset_of!(AVCodecParameters, trailing_padding) - 168usize]; + ["Offset of field: AVCodecParameters::seek_preroll"] + [::std::mem::offset_of!(AVCodecParameters, seek_preroll) - 172usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVIOInterruptCB { + pub callback: ::std::option::Option< + unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int, + >, + pub opaque: *mut ::std::os::raw::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVIOInterruptCB"][::std::mem::size_of::() - 16usize]; + ["Alignment of AVIOInterruptCB"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVIOInterruptCB::callback"] + [::std::mem::offset_of!(AVIOInterruptCB, callback) - 0usize]; + ["Offset of field: AVIOInterruptCB::opaque"] + [::std::mem::offset_of!(AVIOInterruptCB, opaque) - 8usize]; +}; +pub const AVIODataMarkerType_AVIO_DATA_MARKER_HEADER: AVIODataMarkerType = 0; +pub const AVIODataMarkerType_AVIO_DATA_MARKER_SYNC_POINT: AVIODataMarkerType = 1; +pub const AVIODataMarkerType_AVIO_DATA_MARKER_BOUNDARY_POINT: AVIODataMarkerType = 2; +pub const AVIODataMarkerType_AVIO_DATA_MARKER_UNKNOWN: AVIODataMarkerType = 3; +pub const AVIODataMarkerType_AVIO_DATA_MARKER_TRAILER: AVIODataMarkerType = 4; +pub const AVIODataMarkerType_AVIO_DATA_MARKER_FLUSH_POINT: AVIODataMarkerType = 5; +pub type AVIODataMarkerType = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVIOContext { + pub av_class: *const AVClass, + pub buffer: *mut ::std::os::raw::c_uchar, + pub buffer_size: ::std::os::raw::c_int, + pub buf_ptr: *mut ::std::os::raw::c_uchar, + pub buf_end: *mut ::std::os::raw::c_uchar, + pub opaque: *mut ::std::os::raw::c_void, + pub read_packet: ::std::option::Option< + unsafe extern "C" fn( + opaque: *mut ::std::os::raw::c_void, + buf: *mut u8, + buf_size: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, + >, + pub write_packet: ::std::option::Option< + unsafe extern "C" fn( + opaque: *mut ::std::os::raw::c_void, + buf: *const u8, + buf_size: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, + >, + pub seek: ::std::option::Option< + unsafe extern "C" fn( + opaque: *mut ::std::os::raw::c_void, + offset: i64, + whence: ::std::os::raw::c_int, + ) -> i64, + >, + pub pos: i64, + pub eof_reached: ::std::os::raw::c_int, + pub error: ::std::os::raw::c_int, + pub write_flag: ::std::os::raw::c_int, + pub max_packet_size: ::std::os::raw::c_int, + pub min_packet_size: ::std::os::raw::c_int, + pub checksum: ::std::os::raw::c_ulong, + pub checksum_ptr: *mut ::std::os::raw::c_uchar, + pub update_checksum: ::std::option::Option< + unsafe extern "C" fn( + checksum: ::std::os::raw::c_ulong, + buf: *const u8, + size: ::std::os::raw::c_uint, + ) -> ::std::os::raw::c_ulong, + >, + pub read_pause: ::std::option::Option< + unsafe extern "C" fn( + opaque: *mut ::std::os::raw::c_void, + pause: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, + >, + pub read_seek: ::std::option::Option< + unsafe extern "C" fn( + opaque: *mut ::std::os::raw::c_void, + stream_index: ::std::os::raw::c_int, + timestamp: i64, + flags: ::std::os::raw::c_int, + ) -> i64, + >, + pub seekable: ::std::os::raw::c_int, + pub direct: ::std::os::raw::c_int, + pub protocol_whitelist: *const ::std::os::raw::c_char, + pub protocol_blacklist: *const ::std::os::raw::c_char, + pub write_data_type: ::std::option::Option< + unsafe extern "C" fn( + opaque: *mut ::std::os::raw::c_void, + buf: *const u8, + buf_size: ::std::os::raw::c_int, + type_: AVIODataMarkerType, + time: i64, + ) -> ::std::os::raw::c_int, + >, + pub ignore_boundary_point: ::std::os::raw::c_int, + pub buf_ptr_max: *mut ::std::os::raw::c_uchar, + pub bytes_read: i64, + pub bytes_written: i64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVIOContext"][::std::mem::size_of::() - 200usize]; + ["Alignment of AVIOContext"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVIOContext::av_class"] + [::std::mem::offset_of!(AVIOContext, av_class) - 0usize]; + ["Offset of field: AVIOContext::buffer"][::std::mem::offset_of!(AVIOContext, buffer) - 8usize]; + ["Offset of field: AVIOContext::buffer_size"] + [::std::mem::offset_of!(AVIOContext, buffer_size) - 16usize]; + ["Offset of field: AVIOContext::buf_ptr"] + [::std::mem::offset_of!(AVIOContext, buf_ptr) - 24usize]; + ["Offset of field: AVIOContext::buf_end"] + [::std::mem::offset_of!(AVIOContext, buf_end) - 32usize]; + ["Offset of field: AVIOContext::opaque"][::std::mem::offset_of!(AVIOContext, opaque) - 40usize]; + ["Offset of field: AVIOContext::read_packet"] + [::std::mem::offset_of!(AVIOContext, read_packet) - 48usize]; + ["Offset of field: AVIOContext::write_packet"] + [::std::mem::offset_of!(AVIOContext, write_packet) - 56usize]; + ["Offset of field: AVIOContext::seek"][::std::mem::offset_of!(AVIOContext, seek) - 64usize]; + ["Offset of field: AVIOContext::pos"][::std::mem::offset_of!(AVIOContext, pos) - 72usize]; + ["Offset of field: AVIOContext::eof_reached"] + [::std::mem::offset_of!(AVIOContext, eof_reached) - 80usize]; + ["Offset of field: AVIOContext::error"][::std::mem::offset_of!(AVIOContext, error) - 84usize]; + ["Offset of field: AVIOContext::write_flag"] + [::std::mem::offset_of!(AVIOContext, write_flag) - 88usize]; + ["Offset of field: AVIOContext::max_packet_size"] + [::std::mem::offset_of!(AVIOContext, max_packet_size) - 92usize]; + ["Offset of field: AVIOContext::min_packet_size"] + [::std::mem::offset_of!(AVIOContext, min_packet_size) - 96usize]; + ["Offset of field: AVIOContext::checksum"] + [::std::mem::offset_of!(AVIOContext, checksum) - 100usize]; + ["Offset of field: AVIOContext::checksum_ptr"] + [::std::mem::offset_of!(AVIOContext, checksum_ptr) - 104usize]; + ["Offset of field: AVIOContext::update_checksum"] + [::std::mem::offset_of!(AVIOContext, update_checksum) - 112usize]; + ["Offset of field: AVIOContext::read_pause"] + [::std::mem::offset_of!(AVIOContext, read_pause) - 120usize]; + ["Offset of field: AVIOContext::read_seek"] + [::std::mem::offset_of!(AVIOContext, read_seek) - 128usize]; + ["Offset of field: AVIOContext::seekable"] + [::std::mem::offset_of!(AVIOContext, seekable) - 136usize]; + ["Offset of field: AVIOContext::direct"] + [::std::mem::offset_of!(AVIOContext, direct) - 140usize]; + ["Offset of field: AVIOContext::protocol_whitelist"] + [::std::mem::offset_of!(AVIOContext, protocol_whitelist) - 144usize]; + ["Offset of field: AVIOContext::protocol_blacklist"] + [::std::mem::offset_of!(AVIOContext, protocol_blacklist) - 152usize]; + ["Offset of field: AVIOContext::write_data_type"] + [::std::mem::offset_of!(AVIOContext, write_data_type) - 160usize]; + ["Offset of field: AVIOContext::ignore_boundary_point"] + [::std::mem::offset_of!(AVIOContext, ignore_boundary_point) - 168usize]; + ["Offset of field: AVIOContext::buf_ptr_max"] + [::std::mem::offset_of!(AVIOContext, buf_ptr_max) - 176usize]; + ["Offset of field: AVIOContext::bytes_read"] + [::std::mem::offset_of!(AVIOContext, bytes_read) - 184usize]; + ["Offset of field: AVIOContext::bytes_written"] + [::std::mem::offset_of!(AVIOContext, bytes_written) - 192usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVProfile { + pub profile: ::std::os::raw::c_int, + pub name: *const ::std::os::raw::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVProfile"][::std::mem::size_of::() - 16usize]; + ["Alignment of AVProfile"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVProfile::profile"][::std::mem::offset_of!(AVProfile, profile) - 0usize]; + ["Offset of field: AVProfile::name"][::std::mem::offset_of!(AVProfile, name) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVCodec { + pub name: *const ::std::os::raw::c_char, + pub long_name: *const ::std::os::raw::c_char, + pub type_: AVMediaType, + pub id: AVCodecID, + pub capabilities: ::std::os::raw::c_int, + pub max_lowres: u8, + pub supported_framerates: *const AVRational, + pub pix_fmts: *const AVPixelFormat, + pub supported_samplerates: *const ::std::os::raw::c_int, + pub sample_fmts: *const AVSampleFormat, + pub priv_class: *const AVClass, + pub profiles: *const AVProfile, + pub wrapper_name: *const ::std::os::raw::c_char, + pub ch_layouts: *const AVChannelLayout, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVCodec"][::std::mem::size_of::() - 96usize]; + ["Alignment of AVCodec"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVCodec::name"][::std::mem::offset_of!(AVCodec, name) - 0usize]; + ["Offset of field: AVCodec::long_name"][::std::mem::offset_of!(AVCodec, long_name) - 8usize]; + ["Offset of field: AVCodec::type_"][::std::mem::offset_of!(AVCodec, type_) - 16usize]; + ["Offset of field: AVCodec::id"][::std::mem::offset_of!(AVCodec, id) - 20usize]; + ["Offset of field: AVCodec::capabilities"] + [::std::mem::offset_of!(AVCodec, capabilities) - 24usize]; + ["Offset of field: AVCodec::max_lowres"][::std::mem::offset_of!(AVCodec, max_lowres) - 28usize]; + ["Offset of field: AVCodec::supported_framerates"] + [::std::mem::offset_of!(AVCodec, supported_framerates) - 32usize]; + ["Offset of field: AVCodec::pix_fmts"][::std::mem::offset_of!(AVCodec, pix_fmts) - 40usize]; + ["Offset of field: AVCodec::supported_samplerates"] + [::std::mem::offset_of!(AVCodec, supported_samplerates) - 48usize]; + ["Offset of field: AVCodec::sample_fmts"] + [::std::mem::offset_of!(AVCodec, sample_fmts) - 56usize]; + ["Offset of field: AVCodec::priv_class"][::std::mem::offset_of!(AVCodec, priv_class) - 64usize]; + ["Offset of field: AVCodec::profiles"][::std::mem::offset_of!(AVCodec, profiles) - 72usize]; + ["Offset of field: AVCodec::wrapper_name"] + [::std::mem::offset_of!(AVCodec, wrapper_name) - 80usize]; + ["Offset of field: AVCodec::ch_layouts"][::std::mem::offset_of!(AVCodec, ch_layouts) - 88usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVCodecTag { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVOutputFormat { + pub name: *const ::std::os::raw::c_char, + pub long_name: *const ::std::os::raw::c_char, + pub mime_type: *const ::std::os::raw::c_char, + pub extensions: *const ::std::os::raw::c_char, + pub audio_codec: AVCodecID, + pub video_codec: AVCodecID, + pub subtitle_codec: AVCodecID, + pub flags: ::std::os::raw::c_int, + pub codec_tag: *const *const AVCodecTag, + pub priv_class: *const AVClass, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVOutputFormat"][::std::mem::size_of::() - 64usize]; + ["Alignment of AVOutputFormat"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVOutputFormat::name"] + [::std::mem::offset_of!(AVOutputFormat, name) - 0usize]; + ["Offset of field: AVOutputFormat::long_name"] + [::std::mem::offset_of!(AVOutputFormat, long_name) - 8usize]; + ["Offset of field: AVOutputFormat::mime_type"] + [::std::mem::offset_of!(AVOutputFormat, mime_type) - 16usize]; + ["Offset of field: AVOutputFormat::extensions"] + [::std::mem::offset_of!(AVOutputFormat, extensions) - 24usize]; + ["Offset of field: AVOutputFormat::audio_codec"] + [::std::mem::offset_of!(AVOutputFormat, audio_codec) - 32usize]; + ["Offset of field: AVOutputFormat::video_codec"] + [::std::mem::offset_of!(AVOutputFormat, video_codec) - 36usize]; + ["Offset of field: AVOutputFormat::subtitle_codec"] + [::std::mem::offset_of!(AVOutputFormat, subtitle_codec) - 40usize]; + ["Offset of field: AVOutputFormat::flags"] + [::std::mem::offset_of!(AVOutputFormat, flags) - 44usize]; + ["Offset of field: AVOutputFormat::codec_tag"] + [::std::mem::offset_of!(AVOutputFormat, codec_tag) - 48usize]; + ["Offset of field: AVOutputFormat::priv_class"] + [::std::mem::offset_of!(AVOutputFormat, priv_class) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVInputFormat { + pub name: *const ::std::os::raw::c_char, + pub long_name: *const ::std::os::raw::c_char, + pub flags: ::std::os::raw::c_int, + pub extensions: *const ::std::os::raw::c_char, + pub codec_tag: *const *const AVCodecTag, + pub priv_class: *const AVClass, + pub mime_type: *const ::std::os::raw::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVInputFormat"][::std::mem::size_of::() - 56usize]; + ["Alignment of AVInputFormat"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVInputFormat::name"][::std::mem::offset_of!(AVInputFormat, name) - 0usize]; + ["Offset of field: AVInputFormat::long_name"] + [::std::mem::offset_of!(AVInputFormat, long_name) - 8usize]; + ["Offset of field: AVInputFormat::flags"] + [::std::mem::offset_of!(AVInputFormat, flags) - 16usize]; + ["Offset of field: AVInputFormat::extensions"] + [::std::mem::offset_of!(AVInputFormat, extensions) - 24usize]; + ["Offset of field: AVInputFormat::codec_tag"] + [::std::mem::offset_of!(AVInputFormat, codec_tag) - 32usize]; + ["Offset of field: AVInputFormat::priv_class"] + [::std::mem::offset_of!(AVInputFormat, priv_class) - 40usize]; + ["Offset of field: AVInputFormat::mime_type"] + [::std::mem::offset_of!(AVInputFormat, mime_type) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVStream { + pub av_class: *const AVClass, + pub index: ::std::os::raw::c_int, + pub id: ::std::os::raw::c_int, + pub codecpar: *mut AVCodecParameters, + pub priv_data: *mut ::std::os::raw::c_void, + pub time_base: AVRational, + pub start_time: i64, + pub duration: i64, + pub nb_frames: i64, + pub disposition: ::std::os::raw::c_int, + pub discard: AVDiscard, + pub sample_aspect_ratio: AVRational, + pub metadata: *mut AVDictionary, + pub avg_frame_rate: AVRational, + pub attached_pic: AVPacket, + pub event_flags: ::std::os::raw::c_int, + pub r_frame_rate: AVRational, + pub pts_wrap_bits: ::std::os::raw::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVStream"][::std::mem::size_of::() - 216usize]; + ["Alignment of AVStream"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVStream::av_class"][::std::mem::offset_of!(AVStream, av_class) - 0usize]; + ["Offset of field: AVStream::index"][::std::mem::offset_of!(AVStream, index) - 8usize]; + ["Offset of field: AVStream::id"][::std::mem::offset_of!(AVStream, id) - 12usize]; + ["Offset of field: AVStream::codecpar"][::std::mem::offset_of!(AVStream, codecpar) - 16usize]; + ["Offset of field: AVStream::priv_data"][::std::mem::offset_of!(AVStream, priv_data) - 24usize]; + ["Offset of field: AVStream::time_base"][::std::mem::offset_of!(AVStream, time_base) - 32usize]; + ["Offset of field: AVStream::start_time"] + [::std::mem::offset_of!(AVStream, start_time) - 40usize]; + ["Offset of field: AVStream::duration"][::std::mem::offset_of!(AVStream, duration) - 48usize]; + ["Offset of field: AVStream::nb_frames"][::std::mem::offset_of!(AVStream, nb_frames) - 56usize]; + ["Offset of field: AVStream::disposition"] + [::std::mem::offset_of!(AVStream, disposition) - 64usize]; + ["Offset of field: AVStream::discard"][::std::mem::offset_of!(AVStream, discard) - 68usize]; + ["Offset of field: AVStream::sample_aspect_ratio"] + [::std::mem::offset_of!(AVStream, sample_aspect_ratio) - 72usize]; + ["Offset of field: AVStream::metadata"][::std::mem::offset_of!(AVStream, metadata) - 80usize]; + ["Offset of field: AVStream::avg_frame_rate"] + [::std::mem::offset_of!(AVStream, avg_frame_rate) - 88usize]; + ["Offset of field: AVStream::attached_pic"] + [::std::mem::offset_of!(AVStream, attached_pic) - 96usize]; + ["Offset of field: AVStream::event_flags"] + [::std::mem::offset_of!(AVStream, event_flags) - 200usize]; + ["Offset of field: AVStream::r_frame_rate"] + [::std::mem::offset_of!(AVStream, r_frame_rate) - 204usize]; + ["Offset of field: AVStream::pts_wrap_bits"] + [::std::mem::offset_of!(AVStream, pts_wrap_bits) - 212usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVStreamGroupTileGrid { + pub av_class: *const AVClass, + pub nb_tiles: ::std::os::raw::c_uint, + pub coded_width: ::std::os::raw::c_int, + pub coded_height: ::std::os::raw::c_int, + pub offsets: *mut AVStreamGroupTileGrid__bindgen_ty_1, + pub background: [u8; 4usize], + pub horizontal_offset: ::std::os::raw::c_int, + pub vertical_offset: ::std::os::raw::c_int, + pub width: ::std::os::raw::c_int, + pub height: ::std::os::raw::c_int, + pub coded_side_data: *mut AVPacketSideData, + pub nb_coded_side_data: ::std::os::raw::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVStreamGroupTileGrid__bindgen_ty_1 { + pub idx: ::std::os::raw::c_uint, + pub horizontal: ::std::os::raw::c_int, + pub vertical: ::std::os::raw::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVStreamGroupTileGrid__bindgen_ty_1"] + [::std::mem::size_of::() - 12usize]; + ["Alignment of AVStreamGroupTileGrid__bindgen_ty_1"] + [::std::mem::align_of::() - 4usize]; + ["Offset of field: AVStreamGroupTileGrid__bindgen_ty_1::idx"] + [::std::mem::offset_of!(AVStreamGroupTileGrid__bindgen_ty_1, idx) - 0usize]; + ["Offset of field: AVStreamGroupTileGrid__bindgen_ty_1::horizontal"] + [::std::mem::offset_of!(AVStreamGroupTileGrid__bindgen_ty_1, horizontal) - 4usize]; + ["Offset of field: AVStreamGroupTileGrid__bindgen_ty_1::vertical"] + [::std::mem::offset_of!(AVStreamGroupTileGrid__bindgen_ty_1, vertical) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVStreamGroupTileGrid"][::std::mem::size_of::() - 72usize]; + ["Alignment of AVStreamGroupTileGrid"] + [::std::mem::align_of::() - 8usize]; + ["Offset of field: AVStreamGroupTileGrid::av_class"] + [::std::mem::offset_of!(AVStreamGroupTileGrid, av_class) - 0usize]; + ["Offset of field: AVStreamGroupTileGrid::nb_tiles"] + [::std::mem::offset_of!(AVStreamGroupTileGrid, nb_tiles) - 8usize]; + ["Offset of field: AVStreamGroupTileGrid::coded_width"] + [::std::mem::offset_of!(AVStreamGroupTileGrid, coded_width) - 12usize]; + ["Offset of field: AVStreamGroupTileGrid::coded_height"] + [::std::mem::offset_of!(AVStreamGroupTileGrid, coded_height) - 16usize]; + ["Offset of field: AVStreamGroupTileGrid::offsets"] + [::std::mem::offset_of!(AVStreamGroupTileGrid, offsets) - 24usize]; + ["Offset of field: AVStreamGroupTileGrid::background"] + [::std::mem::offset_of!(AVStreamGroupTileGrid, background) - 32usize]; + ["Offset of field: AVStreamGroupTileGrid::horizontal_offset"] + [::std::mem::offset_of!(AVStreamGroupTileGrid, horizontal_offset) - 36usize]; + ["Offset of field: AVStreamGroupTileGrid::vertical_offset"] + [::std::mem::offset_of!(AVStreamGroupTileGrid, vertical_offset) - 40usize]; + ["Offset of field: AVStreamGroupTileGrid::width"] + [::std::mem::offset_of!(AVStreamGroupTileGrid, width) - 44usize]; + ["Offset of field: AVStreamGroupTileGrid::height"] + [::std::mem::offset_of!(AVStreamGroupTileGrid, height) - 48usize]; + ["Offset of field: AVStreamGroupTileGrid::coded_side_data"] + [::std::mem::offset_of!(AVStreamGroupTileGrid, coded_side_data) - 56usize]; + ["Offset of field: AVStreamGroupTileGrid::nb_coded_side_data"] + [::std::mem::offset_of!(AVStreamGroupTileGrid, nb_coded_side_data) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVStreamGroupLCEVC { + pub av_class: *const AVClass, + pub lcevc_index: ::std::os::raw::c_uint, + pub width: ::std::os::raw::c_int, + pub height: ::std::os::raw::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVStreamGroupLCEVC"][::std::mem::size_of::() - 24usize]; + ["Alignment of AVStreamGroupLCEVC"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVStreamGroupLCEVC::av_class"] + [::std::mem::offset_of!(AVStreamGroupLCEVC, av_class) - 0usize]; + ["Offset of field: AVStreamGroupLCEVC::lcevc_index"] + [::std::mem::offset_of!(AVStreamGroupLCEVC, lcevc_index) - 8usize]; + ["Offset of field: AVStreamGroupLCEVC::width"] + [::std::mem::offset_of!(AVStreamGroupLCEVC, width) - 12usize]; + ["Offset of field: AVStreamGroupLCEVC::height"] + [::std::mem::offset_of!(AVStreamGroupLCEVC, height) - 16usize]; +}; +pub const AVStreamGroupParamsType_AV_STREAM_GROUP_PARAMS_NONE: AVStreamGroupParamsType = 0; +pub const AVStreamGroupParamsType_AV_STREAM_GROUP_PARAMS_IAMF_AUDIO_ELEMENT: + AVStreamGroupParamsType = 1; +pub const AVStreamGroupParamsType_AV_STREAM_GROUP_PARAMS_IAMF_MIX_PRESENTATION: + AVStreamGroupParamsType = 2; +pub const AVStreamGroupParamsType_AV_STREAM_GROUP_PARAMS_TILE_GRID: AVStreamGroupParamsType = 3; +pub const AVStreamGroupParamsType_AV_STREAM_GROUP_PARAMS_LCEVC: AVStreamGroupParamsType = 4; +pub type AVStreamGroupParamsType = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVIAMFAudioElement { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVIAMFMixPresentation { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct AVStreamGroup { + pub av_class: *const AVClass, + pub priv_data: *mut ::std::os::raw::c_void, + pub index: ::std::os::raw::c_uint, + pub id: i64, + pub type_: AVStreamGroupParamsType, + pub params: AVStreamGroup__bindgen_ty_1, + pub metadata: *mut AVDictionary, + pub nb_streams: ::std::os::raw::c_uint, + pub streams: *mut *mut AVStream, + pub disposition: ::std::os::raw::c_int, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union AVStreamGroup__bindgen_ty_1 { + pub iamf_audio_element: *mut AVIAMFAudioElement, + pub iamf_mix_presentation: *mut AVIAMFMixPresentation, + pub tile_grid: *mut AVStreamGroupTileGrid, + pub lcevc: *mut AVStreamGroupLCEVC, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVStreamGroup__bindgen_ty_1"] + [::std::mem::size_of::() - 8usize]; + ["Alignment of AVStreamGroup__bindgen_ty_1"] + [::std::mem::align_of::() - 8usize]; + ["Offset of field: AVStreamGroup__bindgen_ty_1::iamf_audio_element"] + [::std::mem::offset_of!(AVStreamGroup__bindgen_ty_1, iamf_audio_element) - 0usize]; + ["Offset of field: AVStreamGroup__bindgen_ty_1::iamf_mix_presentation"] + [::std::mem::offset_of!(AVStreamGroup__bindgen_ty_1, iamf_mix_presentation) - 0usize]; + ["Offset of field: AVStreamGroup__bindgen_ty_1::tile_grid"] + [::std::mem::offset_of!(AVStreamGroup__bindgen_ty_1, tile_grid) - 0usize]; + ["Offset of field: AVStreamGroup__bindgen_ty_1::lcevc"] + [::std::mem::offset_of!(AVStreamGroup__bindgen_ty_1, lcevc) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVStreamGroup"][::std::mem::size_of::() - 80usize]; + ["Alignment of AVStreamGroup"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVStreamGroup::av_class"] + [::std::mem::offset_of!(AVStreamGroup, av_class) - 0usize]; + ["Offset of field: AVStreamGroup::priv_data"] + [::std::mem::offset_of!(AVStreamGroup, priv_data) - 8usize]; + ["Offset of field: AVStreamGroup::index"] + [::std::mem::offset_of!(AVStreamGroup, index) - 16usize]; + ["Offset of field: AVStreamGroup::id"][::std::mem::offset_of!(AVStreamGroup, id) - 24usize]; + ["Offset of field: AVStreamGroup::type_"] + [::std::mem::offset_of!(AVStreamGroup, type_) - 32usize]; + ["Offset of field: AVStreamGroup::params"] + [::std::mem::offset_of!(AVStreamGroup, params) - 40usize]; + ["Offset of field: AVStreamGroup::metadata"] + [::std::mem::offset_of!(AVStreamGroup, metadata) - 48usize]; + ["Offset of field: AVStreamGroup::nb_streams"] + [::std::mem::offset_of!(AVStreamGroup, nb_streams) - 56usize]; + ["Offset of field: AVStreamGroup::streams"] + [::std::mem::offset_of!(AVStreamGroup, streams) - 64usize]; + ["Offset of field: AVStreamGroup::disposition"] + [::std::mem::offset_of!(AVStreamGroup, disposition) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVProgram { + pub id: ::std::os::raw::c_int, + pub flags: ::std::os::raw::c_int, + pub discard: AVDiscard, + pub stream_index: *mut ::std::os::raw::c_uint, + pub nb_stream_indexes: ::std::os::raw::c_uint, + pub metadata: *mut AVDictionary, + pub program_num: ::std::os::raw::c_int, + pub pmt_pid: ::std::os::raw::c_int, + pub pcr_pid: ::std::os::raw::c_int, + pub pmt_version: ::std::os::raw::c_int, + pub start_time: i64, + pub end_time: i64, + pub pts_wrap_reference: i64, + pub pts_wrap_behavior: ::std::os::raw::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVProgram"][::std::mem::size_of::() - 88usize]; + ["Alignment of AVProgram"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVProgram::id"][::std::mem::offset_of!(AVProgram, id) - 0usize]; + ["Offset of field: AVProgram::flags"][::std::mem::offset_of!(AVProgram, flags) - 4usize]; + ["Offset of field: AVProgram::discard"][::std::mem::offset_of!(AVProgram, discard) - 8usize]; + ["Offset of field: AVProgram::stream_index"] + [::std::mem::offset_of!(AVProgram, stream_index) - 16usize]; + ["Offset of field: AVProgram::nb_stream_indexes"] + [::std::mem::offset_of!(AVProgram, nb_stream_indexes) - 24usize]; + ["Offset of field: AVProgram::metadata"][::std::mem::offset_of!(AVProgram, metadata) - 32usize]; + ["Offset of field: AVProgram::program_num"] + [::std::mem::offset_of!(AVProgram, program_num) - 40usize]; + ["Offset of field: AVProgram::pmt_pid"][::std::mem::offset_of!(AVProgram, pmt_pid) - 44usize]; + ["Offset of field: AVProgram::pcr_pid"][::std::mem::offset_of!(AVProgram, pcr_pid) - 48usize]; + ["Offset of field: AVProgram::pmt_version"] + [::std::mem::offset_of!(AVProgram, pmt_version) - 52usize]; + ["Offset of field: AVProgram::start_time"] + [::std::mem::offset_of!(AVProgram, start_time) - 56usize]; + ["Offset of field: AVProgram::end_time"][::std::mem::offset_of!(AVProgram, end_time) - 64usize]; + ["Offset of field: AVProgram::pts_wrap_reference"] + [::std::mem::offset_of!(AVProgram, pts_wrap_reference) - 72usize]; + ["Offset of field: AVProgram::pts_wrap_behavior"] + [::std::mem::offset_of!(AVProgram, pts_wrap_behavior) - 80usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVChapter { + pub id: i64, + pub time_base: AVRational, + pub start: i64, + pub end: i64, + pub metadata: *mut AVDictionary, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVChapter"][::std::mem::size_of::() - 40usize]; + ["Alignment of AVChapter"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVChapter::id"][::std::mem::offset_of!(AVChapter, id) - 0usize]; + ["Offset of field: AVChapter::time_base"] + [::std::mem::offset_of!(AVChapter, time_base) - 8usize]; + ["Offset of field: AVChapter::start"][::std::mem::offset_of!(AVChapter, start) - 16usize]; + ["Offset of field: AVChapter::end"][::std::mem::offset_of!(AVChapter, end) - 24usize]; + ["Offset of field: AVChapter::metadata"][::std::mem::offset_of!(AVChapter, metadata) - 32usize]; +}; +pub type av_format_control_message = ::std::option::Option< + unsafe extern "C" fn( + s: *mut AVFormatContext, + type_: ::std::os::raw::c_int, + data: *mut ::std::os::raw::c_void, + data_size: usize, + ) -> ::std::os::raw::c_int, +>; +pub const AVDurationEstimationMethod_AVFMT_DURATION_FROM_PTS: AVDurationEstimationMethod = 0; +pub const AVDurationEstimationMethod_AVFMT_DURATION_FROM_STREAM: AVDurationEstimationMethod = 1; +pub const AVDurationEstimationMethod_AVFMT_DURATION_FROM_BITRATE: AVDurationEstimationMethod = 2; +pub type AVDurationEstimationMethod = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVFormatContext { + pub av_class: *const AVClass, + pub iformat: *const AVInputFormat, + pub oformat: *const AVOutputFormat, + pub priv_data: *mut ::std::os::raw::c_void, + pub pb: *mut AVIOContext, + pub ctx_flags: ::std::os::raw::c_int, + pub nb_streams: ::std::os::raw::c_uint, + pub streams: *mut *mut AVStream, + pub nb_stream_groups: ::std::os::raw::c_uint, + pub stream_groups: *mut *mut AVStreamGroup, + pub nb_chapters: ::std::os::raw::c_uint, + pub chapters: *mut *mut AVChapter, + pub url: *mut ::std::os::raw::c_char, + pub start_time: i64, + pub duration: i64, + pub bit_rate: i64, + pub packet_size: ::std::os::raw::c_uint, + pub max_delay: ::std::os::raw::c_int, + pub flags: ::std::os::raw::c_int, + pub probesize: i64, + pub max_analyze_duration: i64, + pub key: *const u8, + pub keylen: ::std::os::raw::c_int, + pub nb_programs: ::std::os::raw::c_uint, + pub programs: *mut *mut AVProgram, + pub video_codec_id: AVCodecID, + pub audio_codec_id: AVCodecID, + pub subtitle_codec_id: AVCodecID, + pub data_codec_id: AVCodecID, + pub metadata: *mut AVDictionary, + pub start_time_realtime: i64, + pub fps_probe_size: ::std::os::raw::c_int, + pub error_recognition: ::std::os::raw::c_int, + pub interrupt_callback: AVIOInterruptCB, + pub debug: ::std::os::raw::c_int, + pub max_streams: ::std::os::raw::c_int, + pub max_index_size: ::std::os::raw::c_uint, + pub max_picture_buffer: ::std::os::raw::c_uint, + pub max_interleave_delta: i64, + pub max_ts_probe: ::std::os::raw::c_int, + pub max_chunk_duration: ::std::os::raw::c_int, + pub max_chunk_size: ::std::os::raw::c_int, + pub max_probe_packets: ::std::os::raw::c_int, + pub strict_std_compliance: ::std::os::raw::c_int, + pub event_flags: ::std::os::raw::c_int, + pub avoid_negative_ts: ::std::os::raw::c_int, + pub audio_preload: ::std::os::raw::c_int, + pub use_wallclock_as_timestamps: ::std::os::raw::c_int, + pub skip_estimate_duration_from_pts: ::std::os::raw::c_int, + pub avio_flags: ::std::os::raw::c_int, + pub duration_estimation_method: AVDurationEstimationMethod, + pub skip_initial_bytes: i64, + pub correct_ts_overflow: ::std::os::raw::c_uint, + pub seek2any: ::std::os::raw::c_int, + pub flush_packets: ::std::os::raw::c_int, + pub probe_score: ::std::os::raw::c_int, + pub format_probesize: ::std::os::raw::c_int, + pub codec_whitelist: *mut ::std::os::raw::c_char, + pub format_whitelist: *mut ::std::os::raw::c_char, + pub protocol_whitelist: *mut ::std::os::raw::c_char, + pub protocol_blacklist: *mut ::std::os::raw::c_char, + pub io_repositioned: ::std::os::raw::c_int, + pub video_codec: *const AVCodec, + pub audio_codec: *const AVCodec, + pub subtitle_codec: *const AVCodec, + pub data_codec: *const AVCodec, + pub metadata_header_padding: ::std::os::raw::c_int, + pub opaque: *mut ::std::os::raw::c_void, + pub control_message_cb: av_format_control_message, + pub output_ts_offset: i64, + pub dump_separator: *mut u8, + pub io_open: ::std::option::Option< + unsafe extern "C" fn( + s: *mut AVFormatContext, + pb: *mut *mut AVIOContext, + url: *const ::std::os::raw::c_char, + flags: ::std::os::raw::c_int, + options: *mut *mut AVDictionary, + ) -> ::std::os::raw::c_int, + >, + pub io_close2: ::std::option::Option< + unsafe extern "C" fn( + s: *mut AVFormatContext, + pb: *mut AVIOContext, + ) -> ::std::os::raw::c_int, + >, + pub duration_probesize: i64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of AVFormatContext"][::std::mem::size_of::() - 472usize]; + ["Alignment of AVFormatContext"][::std::mem::align_of::() - 8usize]; + ["Offset of field: AVFormatContext::av_class"] + [::std::mem::offset_of!(AVFormatContext, av_class) - 0usize]; + ["Offset of field: AVFormatContext::iformat"] + [::std::mem::offset_of!(AVFormatContext, iformat) - 8usize]; + ["Offset of field: AVFormatContext::oformat"] + [::std::mem::offset_of!(AVFormatContext, oformat) - 16usize]; + ["Offset of field: AVFormatContext::priv_data"] + [::std::mem::offset_of!(AVFormatContext, priv_data) - 24usize]; + ["Offset of field: AVFormatContext::pb"][::std::mem::offset_of!(AVFormatContext, pb) - 32usize]; + ["Offset of field: AVFormatContext::ctx_flags"] + [::std::mem::offset_of!(AVFormatContext, ctx_flags) - 40usize]; + ["Offset of field: AVFormatContext::nb_streams"] + [::std::mem::offset_of!(AVFormatContext, nb_streams) - 44usize]; + ["Offset of field: AVFormatContext::streams"] + [::std::mem::offset_of!(AVFormatContext, streams) - 48usize]; + ["Offset of field: AVFormatContext::nb_stream_groups"] + [::std::mem::offset_of!(AVFormatContext, nb_stream_groups) - 56usize]; + ["Offset of field: AVFormatContext::stream_groups"] + [::std::mem::offset_of!(AVFormatContext, stream_groups) - 64usize]; + ["Offset of field: AVFormatContext::nb_chapters"] + [::std::mem::offset_of!(AVFormatContext, nb_chapters) - 72usize]; + ["Offset of field: AVFormatContext::chapters"] + [::std::mem::offset_of!(AVFormatContext, chapters) - 80usize]; + ["Offset of field: AVFormatContext::url"] + [::std::mem::offset_of!(AVFormatContext, url) - 88usize]; + ["Offset of field: AVFormatContext::start_time"] + [::std::mem::offset_of!(AVFormatContext, start_time) - 96usize]; + ["Offset of field: AVFormatContext::duration"] + [::std::mem::offset_of!(AVFormatContext, duration) - 104usize]; + ["Offset of field: AVFormatContext::bit_rate"] + [::std::mem::offset_of!(AVFormatContext, bit_rate) - 112usize]; + ["Offset of field: AVFormatContext::packet_size"] + [::std::mem::offset_of!(AVFormatContext, packet_size) - 120usize]; + ["Offset of field: AVFormatContext::max_delay"] + [::std::mem::offset_of!(AVFormatContext, max_delay) - 124usize]; + ["Offset of field: AVFormatContext::flags"] + [::std::mem::offset_of!(AVFormatContext, flags) - 128usize]; + ["Offset of field: AVFormatContext::probesize"] + [::std::mem::offset_of!(AVFormatContext, probesize) - 136usize]; + ["Offset of field: AVFormatContext::max_analyze_duration"] + [::std::mem::offset_of!(AVFormatContext, max_analyze_duration) - 144usize]; + ["Offset of field: AVFormatContext::key"] + [::std::mem::offset_of!(AVFormatContext, key) - 152usize]; + ["Offset of field: AVFormatContext::keylen"] + [::std::mem::offset_of!(AVFormatContext, keylen) - 160usize]; + ["Offset of field: AVFormatContext::nb_programs"] + [::std::mem::offset_of!(AVFormatContext, nb_programs) - 164usize]; + ["Offset of field: AVFormatContext::programs"] + [::std::mem::offset_of!(AVFormatContext, programs) - 168usize]; + ["Offset of field: AVFormatContext::video_codec_id"] + [::std::mem::offset_of!(AVFormatContext, video_codec_id) - 176usize]; + ["Offset of field: AVFormatContext::audio_codec_id"] + [::std::mem::offset_of!(AVFormatContext, audio_codec_id) - 180usize]; + ["Offset of field: AVFormatContext::subtitle_codec_id"] + [::std::mem::offset_of!(AVFormatContext, subtitle_codec_id) - 184usize]; + ["Offset of field: AVFormatContext::data_codec_id"] + [::std::mem::offset_of!(AVFormatContext, data_codec_id) - 188usize]; + ["Offset of field: AVFormatContext::metadata"] + [::std::mem::offset_of!(AVFormatContext, metadata) - 192usize]; + ["Offset of field: AVFormatContext::start_time_realtime"] + [::std::mem::offset_of!(AVFormatContext, start_time_realtime) - 200usize]; + ["Offset of field: AVFormatContext::fps_probe_size"] + [::std::mem::offset_of!(AVFormatContext, fps_probe_size) - 208usize]; + ["Offset of field: AVFormatContext::error_recognition"] + [::std::mem::offset_of!(AVFormatContext, error_recognition) - 212usize]; + ["Offset of field: AVFormatContext::interrupt_callback"] + [::std::mem::offset_of!(AVFormatContext, interrupt_callback) - 216usize]; + ["Offset of field: AVFormatContext::debug"] + [::std::mem::offset_of!(AVFormatContext, debug) - 232usize]; + ["Offset of field: AVFormatContext::max_streams"] + [::std::mem::offset_of!(AVFormatContext, max_streams) - 236usize]; + ["Offset of field: AVFormatContext::max_index_size"] + [::std::mem::offset_of!(AVFormatContext, max_index_size) - 240usize]; + ["Offset of field: AVFormatContext::max_picture_buffer"] + [::std::mem::offset_of!(AVFormatContext, max_picture_buffer) - 244usize]; + ["Offset of field: AVFormatContext::max_interleave_delta"] + [::std::mem::offset_of!(AVFormatContext, max_interleave_delta) - 248usize]; + ["Offset of field: AVFormatContext::max_ts_probe"] + [::std::mem::offset_of!(AVFormatContext, max_ts_probe) - 256usize]; + ["Offset of field: AVFormatContext::max_chunk_duration"] + [::std::mem::offset_of!(AVFormatContext, max_chunk_duration) - 260usize]; + ["Offset of field: AVFormatContext::max_chunk_size"] + [::std::mem::offset_of!(AVFormatContext, max_chunk_size) - 264usize]; + ["Offset of field: AVFormatContext::max_probe_packets"] + [::std::mem::offset_of!(AVFormatContext, max_probe_packets) - 268usize]; + ["Offset of field: AVFormatContext::strict_std_compliance"] + [::std::mem::offset_of!(AVFormatContext, strict_std_compliance) - 272usize]; + ["Offset of field: AVFormatContext::event_flags"] + [::std::mem::offset_of!(AVFormatContext, event_flags) - 276usize]; + ["Offset of field: AVFormatContext::avoid_negative_ts"] + [::std::mem::offset_of!(AVFormatContext, avoid_negative_ts) - 280usize]; + ["Offset of field: AVFormatContext::audio_preload"] + [::std::mem::offset_of!(AVFormatContext, audio_preload) - 284usize]; + ["Offset of field: AVFormatContext::use_wallclock_as_timestamps"] + [::std::mem::offset_of!(AVFormatContext, use_wallclock_as_timestamps) - 288usize]; + ["Offset of field: AVFormatContext::skip_estimate_duration_from_pts"] + [::std::mem::offset_of!(AVFormatContext, skip_estimate_duration_from_pts) - 292usize]; + ["Offset of field: AVFormatContext::avio_flags"] + [::std::mem::offset_of!(AVFormatContext, avio_flags) - 296usize]; + ["Offset of field: AVFormatContext::duration_estimation_method"] + [::std::mem::offset_of!(AVFormatContext, duration_estimation_method) - 300usize]; + ["Offset of field: AVFormatContext::skip_initial_bytes"] + [::std::mem::offset_of!(AVFormatContext, skip_initial_bytes) - 304usize]; + ["Offset of field: AVFormatContext::correct_ts_overflow"] + [::std::mem::offset_of!(AVFormatContext, correct_ts_overflow) - 312usize]; + ["Offset of field: AVFormatContext::seek2any"] + [::std::mem::offset_of!(AVFormatContext, seek2any) - 316usize]; + ["Offset of field: AVFormatContext::flush_packets"] + [::std::mem::offset_of!(AVFormatContext, flush_packets) - 320usize]; + ["Offset of field: AVFormatContext::probe_score"] + [::std::mem::offset_of!(AVFormatContext, probe_score) - 324usize]; + ["Offset of field: AVFormatContext::format_probesize"] + [::std::mem::offset_of!(AVFormatContext, format_probesize) - 328usize]; + ["Offset of field: AVFormatContext::codec_whitelist"] + [::std::mem::offset_of!(AVFormatContext, codec_whitelist) - 336usize]; + ["Offset of field: AVFormatContext::format_whitelist"] + [::std::mem::offset_of!(AVFormatContext, format_whitelist) - 344usize]; + ["Offset of field: AVFormatContext::protocol_whitelist"] + [::std::mem::offset_of!(AVFormatContext, protocol_whitelist) - 352usize]; + ["Offset of field: AVFormatContext::protocol_blacklist"] + [::std::mem::offset_of!(AVFormatContext, protocol_blacklist) - 360usize]; + ["Offset of field: AVFormatContext::io_repositioned"] + [::std::mem::offset_of!(AVFormatContext, io_repositioned) - 368usize]; + ["Offset of field: AVFormatContext::video_codec"] + [::std::mem::offset_of!(AVFormatContext, video_codec) - 376usize]; + ["Offset of field: AVFormatContext::audio_codec"] + [::std::mem::offset_of!(AVFormatContext, audio_codec) - 384usize]; + ["Offset of field: AVFormatContext::subtitle_codec"] + [::std::mem::offset_of!(AVFormatContext, subtitle_codec) - 392usize]; + ["Offset of field: AVFormatContext::data_codec"] + [::std::mem::offset_of!(AVFormatContext, data_codec) - 400usize]; + ["Offset of field: AVFormatContext::metadata_header_padding"] + [::std::mem::offset_of!(AVFormatContext, metadata_header_padding) - 408usize]; + ["Offset of field: AVFormatContext::opaque"] + [::std::mem::offset_of!(AVFormatContext, opaque) - 416usize]; + ["Offset of field: AVFormatContext::control_message_cb"] + [::std::mem::offset_of!(AVFormatContext, control_message_cb) - 424usize]; + ["Offset of field: AVFormatContext::output_ts_offset"] + [::std::mem::offset_of!(AVFormatContext, output_ts_offset) - 432usize]; + ["Offset of field: AVFormatContext::dump_separator"] + [::std::mem::offset_of!(AVFormatContext, dump_separator) - 440usize]; + ["Offset of field: AVFormatContext::io_open"] + [::std::mem::offset_of!(AVFormatContext, io_open) - 448usize]; + ["Offset of field: AVFormatContext::io_close2"] + [::std::mem::offset_of!(AVFormatContext, io_close2) - 456usize]; + ["Offset of field: AVFormatContext::duration_probesize"] + [::std::mem::offset_of!(AVFormatContext, duration_probesize) - 464usize]; +}; +unsafe extern "C" { + pub fn avformat_version() -> ::std::os::raw::c_uint; +} +unsafe extern "C" { + pub fn avformat_alloc_context() -> *mut AVFormatContext; +} +unsafe extern "C" { + pub fn avformat_open_input( + ps: *mut *mut AVFormatContext, + url: *const ::std::os::raw::c_char, + fmt: *const AVInputFormat, + options: *mut *mut AVDictionary, + ) -> ::std::os::raw::c_int; +} +unsafe extern "C" { + pub fn avformat_find_stream_info( + ic: *mut AVFormatContext, + options: *mut *mut AVDictionary, + ) -> ::std::os::raw::c_int; +} +unsafe extern "C" { + pub fn avformat_close_input(s: *mut *mut AVFormatContext); +} +unsafe extern "C" { + pub fn av_dump_format( + ic: *mut AVFormatContext, + index: ::std::os::raw::c_int, + url: *const ::std::os::raw::c_char, + is_output: ::std::os::raw::c_int, + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AVOption { + pub _address: u8, +} diff --git a/crates/media_info/src/lib.rs b/crates/media_info/src/lib.rs index fd9eeafca..de67d931e 100644 --- a/crates/media_info/src/lib.rs +++ b/crates/media_info/src/lib.rs @@ -32,6 +32,10 @@ pub enum Error { InvalidEncoding(String), } +#[cfg(windows)] +const CODEC_ID_MJPEG: i32 = 7; + +#[cfg(unix)] const CODEC_ID_MJPEG: u32 = 7; // fn string_from_ptr(ptr: *const c_char) -> Result> { @@ -421,6 +425,12 @@ impl Stream<'_> { unsafe { *self.ctx }.id } + #[cfg(windows)] + pub fn codec_id(&self) -> i32 { + unsafe { *(*self.ctx).codecpar }.codec_id + } + + #[cfg(unix)] pub fn codec_id(&self) -> u32 { unsafe { *(*self.ctx).codecpar }.codec_id } diff --git a/src/main.rs b/src/main.rs index 6de5a9bdb..3db4ef28d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -373,7 +373,7 @@ fn main() -> anyhow::Result<()> { let collections = create_collections()?; let runtime = build_runtime(); - let (term_receiver, stop_service_sender) = + let (_term_receiver, _stop_service_sender) = start_server(&runtime, server_secret, collections.clone()); #[cfg(unix)] @@ -383,7 +383,10 @@ fn main() -> anyhow::Result<()> { runtime.spawn(watch_for_positions_backup_signal(collections.clone())); } - runtime.block_on(terminate_server(term_receiver, stop_service_sender)); + #[cfg(not(unix))] + runtime.block_on(terminate_server()); + #[cfg(unix)] + runtime.block_on(terminate_server(_term_receiver, _stop_service_sender)); //graceful shutdown of server will wait till immediate tasks ends, so rather shut it down hard runtime.shutdown_timeout(std::time::Duration::from_millis(300));