From 324877dbd8befa888ce545a5e1773fb35f93d3c0 Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Tue, 14 Nov 2023 15:37:42 -0800 Subject: [PATCH] media: ffmpeg: generate bindings in build.rs Generate bindings for the installed version of the ffmpeg libraries at build time instead of checking in a static version of the bindings. BUG=b:309563850 TEST=cargo build --features=ffmpeg Change-Id: I38d922dd7332c4385ae6a0ae93e893538c3b1cce Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5027711 Reviewed-by: Dennis Kempin Commit-Queue: Daniel Verkamp --- Cargo.lock | 1 + media/ffmpeg/Cargo.toml | 1 + media/ffmpeg/README.md | 15 +- media/ffmpeg/VERSIONS | 4 - media/ffmpeg/bindgen.sh | 35 - media/ffmpeg/build.rs | 30 +- media/ffmpeg/src/ffmpeg.rs | 4155 ---------------------------------- media/ffmpeg/src/lib.rs | 11 +- tools/bindgen-all-the-things | 1 - 9 files changed, 43 insertions(+), 4210 deletions(-) delete mode 100644 media/ffmpeg/VERSIONS delete mode 100755 media/ffmpeg/bindgen.sh delete mode 100644 media/ffmpeg/src/ffmpeg.rs diff --git a/Cargo.lock b/Cargo.lock index 7a5f139aee..ca31da63b8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1050,6 +1050,7 @@ name = "ffmpeg" version = "0.1.0" dependencies = [ "anyhow", + "bindgen 0.63.0", "libc", "pkg-config", "thiserror", diff --git a/media/ffmpeg/Cargo.toml b/media/ffmpeg/Cargo.toml index 3427ad5f9d..ccc247f18d 100644 --- a/media/ffmpeg/Cargo.toml +++ b/media/ffmpeg/Cargo.toml @@ -10,4 +10,5 @@ libc = "*" thiserror = "*" [build-dependencies] +bindgen = "0.63" pkg-config = "*" diff --git a/media/ffmpeg/README.md b/media/ffmpeg/README.md index 0b46bf238a..c394fd49b8 100644 --- a/media/ffmpeg/README.md +++ b/media/ffmpeg/README.md @@ -1,14 +1,12 @@ # FFmpeg wrapper -This is a minimal FFmpeg 5.0 wrapper for use with the virtio-video device, allowing to run a virtual -video device backed by software decoding or encoding. This is useful for development and testing in -situations where no supported video acceleration is available on the host. +This is a minimal FFmpeg 5.0+ wrapper for use with the virtio-video device, allowing to run a +virtual video device backed by software decoding or encoding. This is useful for development and +testing in situations where no supported video acceleration is available on the host. Although several FFmpeg binding crates exist, most of them are not able to link against the system FFmpeg, and [the only one that does](https://crates.io/crates/ffmpeg-sys) is released under a -software license that makes our lawyers nervous. Also they all run bindgen at build time, which is -not possible to do under the ChromeOS build system and would require to patch the crate with fully -generated bindings. +software license that makes our lawyers nervous. So taking this in consideration, as well as the extra work that it is to depend on external Rust crates in ChromeOS, it is preferable to add our own simple bindings here that cover just the parts @@ -17,8 +15,7 @@ of FFmpeg that we need. This crate has minimal dependencies ; on the FFmpeg side, it just uses `libavcodec`, `libavutil` and `libswscale`. -The bindings can be updated using the `bindgen.sh` script. A few elements that bindgen cannot -generate because they are behind C macros are re-defined in `avutil.rs` and `error.rs`, as well as -tests to ensure their correctness. +A few elements that bindgen cannot generate because they are behind C macros are re-defined in +`avutil.rs` and `error.rs`, as well as tests to ensure their correctness. And that's about it. diff --git a/media/ffmpeg/VERSIONS b/media/ffmpeg/VERSIONS deleted file mode 100644 index 432aed9eb9..0000000000 --- a/media/ffmpeg/VERSIONS +++ /dev/null @@ -1,4 +0,0 @@ -# These version numbers are updated by the bindgen.sh script -avcodec: 60.3.100 -avutil: 58.2.100 -swscale: 7.1.100 diff --git a/media/ffmpeg/bindgen.sh b/media/ffmpeg/bindgen.sh deleted file mode 100755 index 9fd742d7ca..0000000000 --- a/media/ffmpeg/bindgen.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2022 The ChromiumOS Authors -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -# Regenerate ffmpeg bindgen bindings. - -set -euo pipefail -cd "$(dirname "${BASH_SOURCE[0]}")/../.." - -VERSIONS="media/ffmpeg/VERSIONS" - -source tools/impl/bindgen-common.sh - -bindgen_generate \ - --allowlist-function "av_.*" \ - --allowlist-function "avcodec_.*" \ - --allowlist-function "sws_.*" \ - --allowlist-function "av_image_.*" \ - --allowlist-var "FF_PROFILE.*" \ - --allowlist-var "AV_.*" \ - --allowlist-var "AVERROR_.*" \ - media/ffmpeg/src/bindings.h \ - > media/ffmpeg/src/ffmpeg.rs - -echo "# These version numbers are updated by the bindgen.sh script" >$VERSIONS -echo "avcodec: `pkg-config --modversion libavcodec`" >>$VERSIONS -echo "avutil: `pkg-config --modversion libavutil`" >>$VERSIONS -echo "swscale: `pkg-config --modversion libswscale`" >>$VERSIONS - -if ! git --no-pager diff --exit-code $VERSIONS; then - echo "Libraries versions updated in the $VERSIONS file." - echo "Please check the minimum required versions in build.rs and make sure that" - echo "the major number is the same" -fi diff --git a/media/ffmpeg/build.rs b/media/ffmpeg/build.rs index b881f3c522..571b56b264 100644 --- a/media/ffmpeg/build.rs +++ b/media/ffmpeg/build.rs @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +use std::path::PathBuf; + use pkg_config::Config; fn main() { @@ -15,17 +17,37 @@ fn main() { return; } - // Match all ffmpeg 6.0 versions with which our generated bindings are compatible. + // Match all ffmpeg 6.0+ versions. Config::new() - .range_version("60".."61") + .atleast_version("60") .probe("libavcodec") .unwrap(); Config::new() - .range_version("58".."59") + .atleast_version("58") .probe("libavutil") .unwrap(); Config::new() - .range_version("7".."8") + .atleast_version("7") .probe("libswscale") .unwrap(); + + let bindings = bindgen::Builder::default() + .header("src/bindings.h") + .allowlist_function("av_.*") + .allowlist_function("avcodec_.*") + .allowlist_function("sws_.*") + .allowlist_function("av_image_.*") + .allowlist_var("FF_PROFILE.*") + .allowlist_var("AV_.*") + .allowlist_var("AVERROR_.*") + // Skip va_list and functions that use it to avoid ABI problems on aarch64. + .blocklist_type(".*va_list.*") + .blocklist_function("av_log_.*") + .blocklist_function("av_vlog") + .generate() + .expect("failed to generate bindings"); + let out_path = PathBuf::from(std::env::var("OUT_DIR").unwrap()); + bindings + .write_to_file(out_path.join("bindings.rs")) + .expect("writing bindings to file failed"); } diff --git a/media/ffmpeg/src/ffmpeg.rs b/media/ffmpeg/src/ffmpeg.rs deleted file mode 100644 index 19655829fe..0000000000 --- a/media/ffmpeg/src/ffmpeg.rs +++ /dev/null @@ -1,4155 +0,0 @@ -/* automatically generated by tools/bindgen-all-the-things */ - -#![allow(clippy::missing_safety_doc)] -#![allow(clippy::upper_case_acronyms)] -#![allow(non_upper_case_globals)] -#![allow(non_camel_case_types)] -#![allow(non_snake_case)] -#![allow(dead_code)] - -pub const AV_TIME_BASE: u32 = 1000000; -pub const AV_HAVE_BIGENDIAN: u32 = 0; -pub const AV_HAVE_FAST_UNALIGNED: u32 = 1; -pub const AVERROR_EXPERIMENTAL: i32 = -733130664; -pub const AVERROR_INPUT_CHANGED: i32 = -1668179713; -pub const AVERROR_OUTPUT_CHANGED: i32 = -1668179714; -pub const AV_ERROR_MAX_STRING_SIZE: u32 = 64; -pub const AV_LOG_QUIET: i32 = -8; -pub const AV_LOG_PANIC: u32 = 0; -pub const AV_LOG_FATAL: u32 = 8; -pub const AV_LOG_ERROR: u32 = 16; -pub const AV_LOG_WARNING: u32 = 24; -pub const AV_LOG_INFO: u32 = 32; -pub const AV_LOG_VERBOSE: u32 = 40; -pub const AV_LOG_DEBUG: u32 = 48; -pub const AV_LOG_TRACE: u32 = 56; -pub const AV_LOG_MAX_OFFSET: u32 = 64; -pub const AV_LOG_SKIP_REPEATED: u32 = 1; -pub const AV_LOG_PRINT_LEVEL: u32 = 2; -pub const AV_FOURCC_MAX_STRING_SIZE: u32 = 32; -pub const AV_BUFFER_FLAG_READONLY: u32 = 1; -pub const AV_DICT_MATCH_CASE: u32 = 1; -pub const AV_DICT_IGNORE_SUFFIX: u32 = 2; -pub const AV_DICT_DONT_STRDUP_KEY: u32 = 4; -pub const AV_DICT_DONT_STRDUP_VAL: u32 = 8; -pub const AV_DICT_DONT_OVERWRITE: u32 = 16; -pub const AV_DICT_APPEND: u32 = 32; -pub const AV_DICT_MULTIKEY: u32 = 64; -pub const AV_CH_LAYOUT_NATIVE: i64 = -9223372036854775808; -pub const AV_NUM_DATA_POINTERS: u32 = 8; -pub const AV_FRAME_FLAG_CORRUPT: u32 = 1; -pub const AV_FRAME_FLAG_DISCARD: u32 = 4; -pub const AV_CODEC_CAP_DRAW_HORIZ_BAND: u32 = 1; -pub const AV_CODEC_CAP_DR1: u32 = 2; -pub const AV_CODEC_CAP_DELAY: u32 = 32; -pub const AV_CODEC_CAP_SMALL_LAST_FRAME: u32 = 64; -pub const AV_CODEC_CAP_SUBFRAMES: u32 = 256; -pub const AV_CODEC_CAP_EXPERIMENTAL: u32 = 512; -pub const AV_CODEC_CAP_CHANNEL_CONF: u32 = 1024; -pub const AV_CODEC_CAP_FRAME_THREADS: u32 = 4096; -pub const AV_CODEC_CAP_SLICE_THREADS: u32 = 8192; -pub const AV_CODEC_CAP_PARAM_CHANGE: u32 = 16384; -pub const AV_CODEC_CAP_OTHER_THREADS: u32 = 32768; -pub const AV_CODEC_CAP_VARIABLE_FRAME_SIZE: u32 = 65536; -pub const AV_CODEC_CAP_AVOID_PROBING: u32 = 131072; -pub const AV_CODEC_CAP_HARDWARE: u32 = 262144; -pub const AV_CODEC_CAP_HYBRID: u32 = 524288; -pub const AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE: u32 = 1048576; -pub const AV_CODEC_CAP_ENCODER_FLUSH: u32 = 2097152; -pub const AV_CODEC_CAP_ENCODER_RECON_FRAME: u32 = 4194304; -pub const AV_CODEC_PROP_INTRA_ONLY: u32 = 1; -pub const AV_CODEC_PROP_LOSSY: u32 = 2; -pub const AV_CODEC_PROP_LOSSLESS: u32 = 4; -pub const AV_CODEC_PROP_REORDER: u32 = 8; -pub const AV_CODEC_PROP_BITMAP_SUB: u32 = 65536; -pub const AV_CODEC_PROP_TEXT_SUB: u32 = 131072; -pub const AV_INPUT_BUFFER_PADDING_SIZE: u32 = 64; -pub const AV_EF_CRCCHECK: u32 = 1; -pub const AV_EF_BITSTREAM: u32 = 2; -pub const AV_EF_BUFFER: u32 = 4; -pub const AV_EF_EXPLODE: u32 = 8; -pub const AV_EF_IGNORE_ERR: u32 = 32768; -pub const AV_EF_CAREFUL: u32 = 65536; -pub const AV_EF_COMPLIANT: u32 = 131072; -pub const AV_EF_AGGRESSIVE: u32 = 262144; -pub const AV_PKT_FLAG_KEY: u32 = 1; -pub const AV_PKT_FLAG_CORRUPT: u32 = 2; -pub const AV_PKT_FLAG_DISCARD: u32 = 4; -pub const AV_PKT_FLAG_TRUSTED: u32 = 8; -pub const AV_PKT_FLAG_DISPOSABLE: u32 = 16; -pub const AV_INPUT_BUFFER_MIN_SIZE: u32 = 16384; -pub const AV_CODEC_FLAG_UNALIGNED: u32 = 1; -pub const AV_CODEC_FLAG_QSCALE: u32 = 2; -pub const AV_CODEC_FLAG_4MV: u32 = 4; -pub const AV_CODEC_FLAG_OUTPUT_CORRUPT: u32 = 8; -pub const AV_CODEC_FLAG_QPEL: u32 = 16; -pub const AV_CODEC_FLAG_DROPCHANGED: u32 = 32; -pub const AV_CODEC_FLAG_RECON_FRAME: u32 = 64; -pub const AV_CODEC_FLAG_COPY_OPAQUE: u32 = 128; -pub const AV_CODEC_FLAG_FRAME_DURATION: u32 = 256; -pub const AV_CODEC_FLAG_PASS1: u32 = 512; -pub const AV_CODEC_FLAG_PASS2: u32 = 1024; -pub const AV_CODEC_FLAG_LOOP_FILTER: u32 = 2048; -pub const AV_CODEC_FLAG_GRAY: u32 = 8192; -pub const AV_CODEC_FLAG_PSNR: u32 = 32768; -pub const AV_CODEC_FLAG_INTERLACED_DCT: u32 = 262144; -pub const AV_CODEC_FLAG_LOW_DELAY: u32 = 524288; -pub const AV_CODEC_FLAG_GLOBAL_HEADER: u32 = 4194304; -pub const AV_CODEC_FLAG_BITEXACT: u32 = 8388608; -pub const AV_CODEC_FLAG_AC_PRED: u32 = 16777216; -pub const AV_CODEC_FLAG_INTERLACED_ME: u32 = 536870912; -pub const AV_CODEC_FLAG_CLOSED_GOP: u32 = 2147483648; -pub const AV_CODEC_FLAG2_FAST: u32 = 1; -pub const AV_CODEC_FLAG2_NO_OUTPUT: u32 = 4; -pub const AV_CODEC_FLAG2_LOCAL_HEADER: u32 = 8; -pub const AV_CODEC_FLAG2_CHUNKS: u32 = 32768; -pub const AV_CODEC_FLAG2_IGNORE_CROP: u32 = 65536; -pub const AV_CODEC_FLAG2_SHOW_ALL: u32 = 4194304; -pub const AV_CODEC_FLAG2_EXPORT_MVS: u32 = 268435456; -pub const AV_CODEC_FLAG2_SKIP_MANUAL: u32 = 536870912; -pub const AV_CODEC_FLAG2_RO_FLUSH_NOOP: u32 = 1073741824; -pub const AV_CODEC_FLAG2_ICC_PROFILES: u32 = 2147483648; -pub const AV_CODEC_EXPORT_DATA_MVS: u32 = 1; -pub const AV_CODEC_EXPORT_DATA_PRFT: u32 = 2; -pub const AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS: u32 = 4; -pub const AV_CODEC_EXPORT_DATA_FILM_GRAIN: u32 = 8; -pub const AV_GET_BUFFER_FLAG_REF: u32 = 1; -pub const AV_GET_ENCODE_BUFFER_FLAG_REF: u32 = 1; -pub const FF_PROFILE_UNKNOWN: i32 = -99; -pub const FF_PROFILE_RESERVED: i32 = -100; -pub const FF_PROFILE_AAC_MAIN: u32 = 0; -pub const FF_PROFILE_AAC_LOW: u32 = 1; -pub const FF_PROFILE_AAC_SSR: u32 = 2; -pub const FF_PROFILE_AAC_LTP: u32 = 3; -pub const FF_PROFILE_AAC_HE: u32 = 4; -pub const FF_PROFILE_AAC_HE_V2: u32 = 28; -pub const FF_PROFILE_AAC_LD: u32 = 22; -pub const FF_PROFILE_AAC_ELD: u32 = 38; -pub const FF_PROFILE_MPEG2_AAC_LOW: u32 = 128; -pub const FF_PROFILE_MPEG2_AAC_HE: u32 = 131; -pub const FF_PROFILE_DNXHD: u32 = 0; -pub const FF_PROFILE_DNXHR_LB: u32 = 1; -pub const FF_PROFILE_DNXHR_SQ: u32 = 2; -pub const FF_PROFILE_DNXHR_HQ: u32 = 3; -pub const FF_PROFILE_DNXHR_HQX: u32 = 4; -pub const FF_PROFILE_DNXHR_444: u32 = 5; -pub const FF_PROFILE_DTS: u32 = 20; -pub const FF_PROFILE_DTS_ES: u32 = 30; -pub const FF_PROFILE_DTS_96_24: u32 = 40; -pub const FF_PROFILE_DTS_HD_HRA: u32 = 50; -pub const FF_PROFILE_DTS_HD_MA: u32 = 60; -pub const FF_PROFILE_DTS_EXPRESS: u32 = 70; -pub const FF_PROFILE_MPEG2_422: u32 = 0; -pub const FF_PROFILE_MPEG2_HIGH: u32 = 1; -pub const FF_PROFILE_MPEG2_SS: u32 = 2; -pub const FF_PROFILE_MPEG2_SNR_SCALABLE: u32 = 3; -pub const FF_PROFILE_MPEG2_MAIN: u32 = 4; -pub const FF_PROFILE_MPEG2_SIMPLE: u32 = 5; -pub const FF_PROFILE_H264_CONSTRAINED: u32 = 512; -pub const FF_PROFILE_H264_INTRA: u32 = 2048; -pub const FF_PROFILE_H264_BASELINE: u32 = 66; -pub const FF_PROFILE_H264_CONSTRAINED_BASELINE: u32 = 578; -pub const FF_PROFILE_H264_MAIN: u32 = 77; -pub const FF_PROFILE_H264_EXTENDED: u32 = 88; -pub const FF_PROFILE_H264_HIGH: u32 = 100; -pub const FF_PROFILE_H264_HIGH_10: u32 = 110; -pub const FF_PROFILE_H264_HIGH_10_INTRA: u32 = 2158; -pub const FF_PROFILE_H264_MULTIVIEW_HIGH: u32 = 118; -pub const FF_PROFILE_H264_HIGH_422: u32 = 122; -pub const FF_PROFILE_H264_HIGH_422_INTRA: u32 = 2170; -pub const FF_PROFILE_H264_STEREO_HIGH: u32 = 128; -pub const FF_PROFILE_H264_HIGH_444: u32 = 144; -pub const FF_PROFILE_H264_HIGH_444_PREDICTIVE: u32 = 244; -pub const FF_PROFILE_H264_HIGH_444_INTRA: u32 = 2292; -pub const FF_PROFILE_H264_CAVLC_444: u32 = 44; -pub const FF_PROFILE_VC1_SIMPLE: u32 = 0; -pub const FF_PROFILE_VC1_MAIN: u32 = 1; -pub const FF_PROFILE_VC1_COMPLEX: u32 = 2; -pub const FF_PROFILE_VC1_ADVANCED: u32 = 3; -pub const FF_PROFILE_MPEG4_SIMPLE: u32 = 0; -pub const FF_PROFILE_MPEG4_SIMPLE_SCALABLE: u32 = 1; -pub const FF_PROFILE_MPEG4_CORE: u32 = 2; -pub const FF_PROFILE_MPEG4_MAIN: u32 = 3; -pub const FF_PROFILE_MPEG4_N_BIT: u32 = 4; -pub const FF_PROFILE_MPEG4_SCALABLE_TEXTURE: u32 = 5; -pub const FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION: u32 = 6; -pub const FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE: u32 = 7; -pub const FF_PROFILE_MPEG4_HYBRID: u32 = 8; -pub const FF_PROFILE_MPEG4_ADVANCED_REAL_TIME: u32 = 9; -pub const FF_PROFILE_MPEG4_CORE_SCALABLE: u32 = 10; -pub const FF_PROFILE_MPEG4_ADVANCED_CODING: u32 = 11; -pub const FF_PROFILE_MPEG4_ADVANCED_CORE: u32 = 12; -pub const FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE: u32 = 13; -pub const FF_PROFILE_MPEG4_SIMPLE_STUDIO: u32 = 14; -pub const FF_PROFILE_MPEG4_ADVANCED_SIMPLE: u32 = 15; -pub const FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0: u32 = 1; -pub const FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1: u32 = 2; -pub const FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION: u32 = 32768; -pub const FF_PROFILE_JPEG2000_DCINEMA_2K: u32 = 3; -pub const FF_PROFILE_JPEG2000_DCINEMA_4K: u32 = 4; -pub const FF_PROFILE_VP9_0: u32 = 0; -pub const FF_PROFILE_VP9_1: u32 = 1; -pub const FF_PROFILE_VP9_2: u32 = 2; -pub const FF_PROFILE_VP9_3: u32 = 3; -pub const FF_PROFILE_HEVC_MAIN: u32 = 1; -pub const FF_PROFILE_HEVC_MAIN_10: u32 = 2; -pub const FF_PROFILE_HEVC_MAIN_STILL_PICTURE: u32 = 3; -pub const FF_PROFILE_HEVC_REXT: u32 = 4; -pub const FF_PROFILE_VVC_MAIN_10: u32 = 1; -pub const FF_PROFILE_VVC_MAIN_10_444: u32 = 33; -pub const FF_PROFILE_AV1_MAIN: u32 = 0; -pub const FF_PROFILE_AV1_HIGH: u32 = 1; -pub const FF_PROFILE_AV1_PROFESSIONAL: u32 = 2; -pub const FF_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT: u32 = 192; -pub const FF_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT: u32 = 193; -pub const FF_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT: u32 = 194; -pub const FF_PROFILE_MJPEG_HUFFMAN_LOSSLESS: u32 = 195; -pub const FF_PROFILE_MJPEG_JPEG_LS: u32 = 247; -pub const FF_PROFILE_SBC_MSBC: u32 = 1; -pub const FF_PROFILE_PRORES_PROXY: u32 = 0; -pub const FF_PROFILE_PRORES_LT: u32 = 1; -pub const FF_PROFILE_PRORES_STANDARD: u32 = 2; -pub const FF_PROFILE_PRORES_HQ: u32 = 3; -pub const FF_PROFILE_PRORES_4444: u32 = 4; -pub const FF_PROFILE_PRORES_XQ: u32 = 5; -pub const FF_PROFILE_ARIB_PROFILE_A: u32 = 0; -pub const FF_PROFILE_ARIB_PROFILE_C: u32 = 1; -pub const FF_PROFILE_KLVA_SYNC: u32 = 0; -pub const FF_PROFILE_KLVA_ASYNC: u32 = 1; -pub const AV_HWACCEL_CODEC_CAP_EXPERIMENTAL: u32 = 512; -pub const AV_HWACCEL_FLAG_IGNORE_LEVEL: u32 = 1; -pub const AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH: u32 = 2; -pub const AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH: u32 = 4; -pub const AV_HWACCEL_FLAG_UNSAFE_OUTPUT: u32 = 8; -pub const AV_SUBTITLE_FLAG_FORCED: u32 = 1; -pub const AV_PARSER_PTS_NB: u32 = 4; -pub const AV_CPU_FLAG_FORCE: u32 = 2147483648; -pub const AV_CPU_FLAG_MMX: u32 = 1; -pub const AV_CPU_FLAG_MMXEXT: u32 = 2; -pub const AV_CPU_FLAG_MMX2: u32 = 2; -pub const AV_CPU_FLAG_3DNOW: u32 = 4; -pub const AV_CPU_FLAG_SSE: u32 = 8; -pub const AV_CPU_FLAG_SSE2: u32 = 16; -pub const AV_CPU_FLAG_SSE2SLOW: u32 = 1073741824; -pub const AV_CPU_FLAG_3DNOWEXT: u32 = 32; -pub const AV_CPU_FLAG_SSE3: u32 = 64; -pub const AV_CPU_FLAG_SSE3SLOW: u32 = 536870912; -pub const AV_CPU_FLAG_SSSE3: u32 = 128; -pub const AV_CPU_FLAG_SSSE3SLOW: u32 = 67108864; -pub const AV_CPU_FLAG_ATOM: u32 = 268435456; -pub const AV_CPU_FLAG_SSE4: u32 = 256; -pub const AV_CPU_FLAG_SSE42: u32 = 512; -pub const AV_CPU_FLAG_AESNI: u32 = 524288; -pub const AV_CPU_FLAG_AVX: u32 = 16384; -pub const AV_CPU_FLAG_AVXSLOW: u32 = 134217728; -pub const AV_CPU_FLAG_XOP: u32 = 1024; -pub const AV_CPU_FLAG_FMA4: u32 = 2048; -pub const AV_CPU_FLAG_CMOV: u32 = 4096; -pub const AV_CPU_FLAG_AVX2: u32 = 32768; -pub const AV_CPU_FLAG_FMA3: u32 = 65536; -pub const AV_CPU_FLAG_BMI1: u32 = 131072; -pub const AV_CPU_FLAG_BMI2: u32 = 262144; -pub const AV_CPU_FLAG_AVX512: u32 = 1048576; -pub const AV_CPU_FLAG_AVX512ICL: u32 = 2097152; -pub const AV_CPU_FLAG_SLOW_GATHER: u32 = 33554432; -pub const AV_CPU_FLAG_ALTIVEC: u32 = 1; -pub const AV_CPU_FLAG_VSX: u32 = 2; -pub const AV_CPU_FLAG_POWER8: u32 = 4; -pub const AV_CPU_FLAG_ARMV5TE: u32 = 1; -pub const AV_CPU_FLAG_ARMV6: u32 = 2; -pub const AV_CPU_FLAG_ARMV6T2: u32 = 4; -pub const AV_CPU_FLAG_VFP: u32 = 8; -pub const AV_CPU_FLAG_VFPV3: u32 = 16; -pub const AV_CPU_FLAG_NEON: u32 = 32; -pub const AV_CPU_FLAG_ARMV8: u32 = 64; -pub const AV_CPU_FLAG_VFP_VM: u32 = 128; -pub const AV_CPU_FLAG_SETEND: u32 = 65536; -pub const AV_CPU_FLAG_MMI: u32 = 1; -pub const AV_CPU_FLAG_MSA: u32 = 2; -pub const AV_CPU_FLAG_LSX: u32 = 1; -pub const AV_CPU_FLAG_LASX: u32 = 2; -pub const AV_CPU_FLAG_RVI: u32 = 1; -pub const AV_CPU_FLAG_RVF: u32 = 2; -pub const AV_CPU_FLAG_RVD: u32 = 4; -pub const AV_CPU_FLAG_RVV_I32: u32 = 8; -pub const AV_CPU_FLAG_RVV_F32: u32 = 16; -pub const AV_CPU_FLAG_RVV_I64: u32 = 32; -pub const AV_CPU_FLAG_RVV_F64: u32 = 64; -pub const AV_CPU_FLAG_RVB_BASIC: u32 = 128; -pub const AV_PIX_FMT_FLAG_BE: u32 = 1; -pub const AV_PIX_FMT_FLAG_PAL: u32 = 2; -pub const AV_PIX_FMT_FLAG_BITSTREAM: u32 = 4; -pub const AV_PIX_FMT_FLAG_HWACCEL: u32 = 8; -pub const AV_PIX_FMT_FLAG_PLANAR: u32 = 16; -pub const AV_PIX_FMT_FLAG_RGB: u32 = 32; -pub const AV_PIX_FMT_FLAG_ALPHA: u32 = 128; -pub const AV_PIX_FMT_FLAG_BAYER: u32 = 256; -pub const AV_PIX_FMT_FLAG_FLOAT: u32 = 512; -pub type __off_t = ::std::os::raw::c_long; -pub type __off64_t = ::std::os::raw::c_long; -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; -extern "C" { - pub fn av_get_sample_fmt_name(sample_fmt: AVSampleFormat) -> *const ::std::os::raw::c_char; -} -extern "C" { - pub fn av_get_sample_fmt(name: *const ::std::os::raw::c_char) -> AVSampleFormat; -} -extern "C" { - pub fn av_get_alt_sample_fmt( - sample_fmt: AVSampleFormat, - planar: ::std::os::raw::c_int, - ) -> AVSampleFormat; -} -extern "C" { - pub fn av_get_packed_sample_fmt(sample_fmt: AVSampleFormat) -> AVSampleFormat; -} -extern "C" { - pub fn av_get_planar_sample_fmt(sample_fmt: AVSampleFormat) -> AVSampleFormat; -} -extern "C" { - pub fn av_get_sample_fmt_string( - buf: *mut ::std::os::raw::c_char, - buf_size: ::std::os::raw::c_int, - sample_fmt: AVSampleFormat, - ) -> *mut ::std::os::raw::c_char; -} -extern "C" { - pub fn av_get_bytes_per_sample(sample_fmt: AVSampleFormat) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_sample_fmt_is_planar(sample_fmt: AVSampleFormat) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_samples_get_buffer_size( - linesize: *mut ::std::os::raw::c_int, - nb_channels: ::std::os::raw::c_int, - nb_samples: ::std::os::raw::c_int, - sample_fmt: AVSampleFormat, - align: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_samples_fill_arrays( - audio_data: *mut *mut u8, - linesize: *mut ::std::os::raw::c_int, - buf: *const u8, - nb_channels: ::std::os::raw::c_int, - nb_samples: ::std::os::raw::c_int, - sample_fmt: AVSampleFormat, - align: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_samples_alloc( - audio_data: *mut *mut u8, - linesize: *mut ::std::os::raw::c_int, - nb_channels: ::std::os::raw::c_int, - nb_samples: ::std::os::raw::c_int, - sample_fmt: AVSampleFormat, - align: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_samples_alloc_array_and_samples( - audio_data: *mut *mut *mut u8, - linesize: *mut ::std::os::raw::c_int, - nb_channels: ::std::os::raw::c_int, - nb_samples: ::std::os::raw::c_int, - sample_fmt: AVSampleFormat, - align: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_samples_copy( - dst: *mut *mut u8, - src: *const *mut u8, - dst_offset: ::std::os::raw::c_int, - src_offset: ::std::os::raw::c_int, - nb_samples: ::std::os::raw::c_int, - nb_channels: ::std::os::raw::c_int, - sample_fmt: AVSampleFormat, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_samples_set_silence( - audio_data: *mut *mut u8, - offset: ::std::os::raw::c_int, - nb_samples: ::std::os::raw::c_int, - nb_channels: ::std::os::raw::c_int, - sample_fmt: AVSampleFormat, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_version_info() -> *const ::std::os::raw::c_char; -} -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; -extern "C" { - pub fn av_get_media_type_string(media_type: AVMediaType) -> *const ::std::os::raw::c_char; -} -pub const AVPictureType_AV_PICTURE_TYPE_NONE: AVPictureType = 0; -pub const AVPictureType_AV_PICTURE_TYPE_I: AVPictureType = 1; -pub const AVPictureType_AV_PICTURE_TYPE_P: AVPictureType = 2; -pub const AVPictureType_AV_PICTURE_TYPE_B: AVPictureType = 3; -pub const AVPictureType_AV_PICTURE_TYPE_S: AVPictureType = 4; -pub const AVPictureType_AV_PICTURE_TYPE_SI: AVPictureType = 5; -pub const AVPictureType_AV_PICTURE_TYPE_SP: AVPictureType = 6; -pub const AVPictureType_AV_PICTURE_TYPE_BI: AVPictureType = 7; -pub type AVPictureType = ::std::os::raw::c_uint; -extern "C" { - pub fn av_get_picture_type_char(pict_type: AVPictureType) -> ::std::os::raw::c_char; -} -pub type va_list = __builtin_va_list; -pub type FILE = _IO_FILE; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _IO_marker { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _IO_codecvt { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _IO_wide_data { - _unused: [u8; 0], -} -pub type _IO_lock_t = ::std::os::raw::c_void; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _IO_FILE { - pub _flags: ::std::os::raw::c_int, - pub _IO_read_ptr: *mut ::std::os::raw::c_char, - pub _IO_read_end: *mut ::std::os::raw::c_char, - pub _IO_read_base: *mut ::std::os::raw::c_char, - pub _IO_write_base: *mut ::std::os::raw::c_char, - pub _IO_write_ptr: *mut ::std::os::raw::c_char, - pub _IO_write_end: *mut ::std::os::raw::c_char, - pub _IO_buf_base: *mut ::std::os::raw::c_char, - pub _IO_buf_end: *mut ::std::os::raw::c_char, - pub _IO_save_base: *mut ::std::os::raw::c_char, - pub _IO_backup_base: *mut ::std::os::raw::c_char, - pub _IO_save_end: *mut ::std::os::raw::c_char, - pub _markers: *mut _IO_marker, - pub _chain: *mut _IO_FILE, - pub _fileno: ::std::os::raw::c_int, - pub _flags2: ::std::os::raw::c_int, - pub _old_offset: __off_t, - pub _cur_column: ::std::os::raw::c_ushort, - pub _vtable_offset: ::std::os::raw::c_schar, - pub _shortbuf: [::std::os::raw::c_char; 1usize], - pub _lock: *mut _IO_lock_t, - pub _offset: __off64_t, - pub _codecvt: *mut _IO_codecvt, - pub _wide_data: *mut _IO_wide_data, - pub _freeres_list: *mut _IO_FILE, - pub _freeres_buf: *mut ::std::os::raw::c_void, - pub __pad5: usize, - pub _mode: ::std::os::raw::c_int, - pub _unused2: [::std::os::raw::c_char; 20usize], -} -impl Default for _IO_FILE { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -extern "C" { - pub fn av_log2(v: ::std::os::raw::c_uint) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_log2_16bit(v: ::std::os::raw::c_uint) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_malloc(size: usize) -> *mut ::std::os::raw::c_void; -} -extern "C" { - pub fn av_mallocz(size: usize) -> *mut ::std::os::raw::c_void; -} -extern "C" { - pub fn av_malloc_array(nmemb: usize, size: usize) -> *mut ::std::os::raw::c_void; -} -extern "C" { - pub fn av_calloc(nmemb: usize, size: usize) -> *mut ::std::os::raw::c_void; -} -extern "C" { - pub fn av_realloc(ptr: *mut ::std::os::raw::c_void, size: usize) - -> *mut ::std::os::raw::c_void; -} -extern "C" { - pub fn av_reallocp(ptr: *mut ::std::os::raw::c_void, size: usize) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_realloc_f( - ptr: *mut ::std::os::raw::c_void, - nelem: usize, - elsize: usize, - ) -> *mut ::std::os::raw::c_void; -} -extern "C" { - pub fn av_realloc_array( - ptr: *mut ::std::os::raw::c_void, - nmemb: usize, - size: usize, - ) -> *mut ::std::os::raw::c_void; -} -extern "C" { - pub fn av_reallocp_array( - ptr: *mut ::std::os::raw::c_void, - nmemb: usize, - size: usize, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_fast_realloc( - ptr: *mut ::std::os::raw::c_void, - size: *mut ::std::os::raw::c_uint, - min_size: usize, - ) -> *mut ::std::os::raw::c_void; -} -extern "C" { - pub fn av_fast_malloc( - ptr: *mut ::std::os::raw::c_void, - size: *mut ::std::os::raw::c_uint, - min_size: usize, - ); -} -extern "C" { - pub fn av_fast_mallocz( - ptr: *mut ::std::os::raw::c_void, - size: *mut ::std::os::raw::c_uint, - min_size: usize, - ); -} -extern "C" { - pub fn av_free(ptr: *mut ::std::os::raw::c_void); -} -extern "C" { - pub fn av_freep(ptr: *mut ::std::os::raw::c_void); -} -extern "C" { - pub fn av_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; -} -extern "C" { - pub fn av_strndup(s: *const ::std::os::raw::c_char, len: usize) -> *mut ::std::os::raw::c_char; -} -extern "C" { - pub fn av_memdup(p: *const ::std::os::raw::c_void, size: usize) -> *mut ::std::os::raw::c_void; -} -extern "C" { - pub fn av_memcpy_backptr(dst: *mut u8, back: ::std::os::raw::c_int, cnt: ::std::os::raw::c_int); -} -extern "C" { - pub fn av_dynarray_add( - tab_ptr: *mut ::std::os::raw::c_void, - nb_ptr: *mut ::std::os::raw::c_int, - elem: *mut ::std::os::raw::c_void, - ); -} -extern "C" { - pub fn av_dynarray_add_nofree( - tab_ptr: *mut ::std::os::raw::c_void, - nb_ptr: *mut ::std::os::raw::c_int, - elem: *mut ::std::os::raw::c_void, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_dynarray2_add( - tab_ptr: *mut *mut ::std::os::raw::c_void, - nb_ptr: *mut ::std::os::raw::c_int, - elem_size: usize, - elem_data: *const u8, - ) -> *mut ::std::os::raw::c_void; -} -extern "C" { - pub fn av_size_mult(a: usize, b: usize, r: *mut usize) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_max_alloc(max: usize); -} -extern "C" { - pub fn av_strerror( - errnum: ::std::os::raw::c_int, - errbuf: *mut ::std::os::raw::c_char, - errbuf_size: usize, - ) -> ::std::os::raw::c_int; -} -#[repr(C)] -#[derive(Debug, Default, Copy, Clone)] -pub struct AVRational { - pub num: ::std::os::raw::c_int, - pub den: ::std::os::raw::c_int, -} -extern "C" { - pub fn av_reduce( - dst_num: *mut ::std::os::raw::c_int, - dst_den: *mut ::std::os::raw::c_int, - num: i64, - den: i64, - max: i64, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_mul_q(b: AVRational, c: AVRational) -> AVRational; -} -extern "C" { - pub fn av_div_q(b: AVRational, c: AVRational) -> AVRational; -} -extern "C" { - pub fn av_add_q(b: AVRational, c: AVRational) -> AVRational; -} -extern "C" { - pub fn av_sub_q(b: AVRational, c: AVRational) -> AVRational; -} -extern "C" { - pub fn av_d2q(d: f64, max: ::std::os::raw::c_int) -> AVRational; -} -extern "C" { - pub fn av_nearer_q(q: AVRational, q1: AVRational, q2: AVRational) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_find_nearest_q_idx(q: AVRational, q_list: *const AVRational) - -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_q2intfloat(q: AVRational) -> u32; -} -extern "C" { - pub fn av_gcd_q( - a: AVRational, - b: AVRational, - max_den: ::std::os::raw::c_int, - def: AVRational, - ) -> AVRational; -} -pub const AVRounding_AV_ROUND_ZERO: AVRounding = 0; -pub const AVRounding_AV_ROUND_INF: AVRounding = 1; -pub const AVRounding_AV_ROUND_DOWN: AVRounding = 2; -pub const AVRounding_AV_ROUND_UP: AVRounding = 3; -pub const AVRounding_AV_ROUND_NEAR_INF: AVRounding = 5; -pub const AVRounding_AV_ROUND_PASS_MINMAX: AVRounding = 8192; -pub type AVRounding = ::std::os::raw::c_uint; -extern "C" { - pub fn av_gcd(a: i64, b: i64) -> i64; -} -extern "C" { - pub fn av_rescale(a: i64, b: i64, c: i64) -> i64; -} -extern "C" { - pub fn av_rescale_rnd(a: i64, b: i64, c: i64, rnd: AVRounding) -> i64; -} -extern "C" { - pub fn av_rescale_q(a: i64, bq: AVRational, cq: AVRational) -> i64; -} -extern "C" { - pub fn av_rescale_q_rnd(a: i64, bq: AVRational, cq: AVRational, rnd: AVRounding) -> i64; -} -extern "C" { - pub fn av_compare_ts( - ts_a: i64, - tb_a: AVRational, - ts_b: i64, - tb_b: AVRational, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_compare_mod(a: u64, b: u64, mod_: u64) -> i64; -} -extern "C" { - pub fn av_rescale_delta( - in_tb: AVRational, - in_ts: i64, - fs_tb: AVRational, - duration: ::std::os::raw::c_int, - last: *mut i64, - out_tb: AVRational, - ) -> i64; -} -extern "C" { - pub fn av_add_stable(ts_tb: AVRational, ts: i64, inc_tb: AVRational, inc: i64) -> i64; -} -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_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_uint; -#[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, - >, -} -impl Default for AVClass { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -extern "C" { - pub fn av_log( - avcl: *mut ::std::os::raw::c_void, - level: ::std::os::raw::c_int, - fmt: *const ::std::os::raw::c_char, - ... - ); -} -extern "C" { - pub fn av_log_once( - avcl: *mut ::std::os::raw::c_void, - initial_level: ::std::os::raw::c_int, - subsequent_level: ::std::os::raw::c_int, - state: *mut ::std::os::raw::c_int, - fmt: *const ::std::os::raw::c_char, - ... - ); -} -extern "C" { - pub fn av_vlog( - avcl: *mut ::std::os::raw::c_void, - level: ::std::os::raw::c_int, - fmt: *const ::std::os::raw::c_char, - vl: *mut __va_list_tag, - ); -} -extern "C" { - pub fn av_log_get_level() -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_log_set_level(level: ::std::os::raw::c_int); -} -extern "C" { - pub fn av_log_set_callback( - callback: ::std::option::Option< - unsafe extern "C" fn( - arg1: *mut ::std::os::raw::c_void, - arg2: ::std::os::raw::c_int, - arg3: *const ::std::os::raw::c_char, - arg4: *mut __va_list_tag, - ), - >, - ); -} -extern "C" { - pub fn av_log_default_callback( - avcl: *mut ::std::os::raw::c_void, - level: ::std::os::raw::c_int, - fmt: *const ::std::os::raw::c_char, - vl: *mut __va_list_tag, - ); -} -extern "C" { - pub fn av_default_item_name(ctx: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char; -} -extern "C" { - pub fn av_default_get_category(ptr: *mut ::std::os::raw::c_void) -> AVClassCategory; -} -extern "C" { - pub fn av_log_format_line( - ptr: *mut ::std::os::raw::c_void, - level: ::std::os::raw::c_int, - fmt: *const ::std::os::raw::c_char, - vl: *mut __va_list_tag, - line: *mut ::std::os::raw::c_char, - line_size: ::std::os::raw::c_int, - print_prefix: *mut ::std::os::raw::c_int, - ); -} -extern "C" { - pub fn av_log_format_line2( - ptr: *mut ::std::os::raw::c_void, - level: ::std::os::raw::c_int, - fmt: *const ::std::os::raw::c_char, - vl: *mut __va_list_tag, - line: *mut ::std::os::raw::c_char, - line_size: ::std::os::raw::c_int, - print_prefix: *mut ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_log_set_flags(arg: ::std::os::raw::c_int); -} -extern "C" { - pub fn av_log_get_flags() -> ::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_XVMC: AVPixelFormat = 151; -pub const AVPixelFormat_AV_PIX_FMT_YUV440P10LE: AVPixelFormat = 152; -pub const AVPixelFormat_AV_PIX_FMT_YUV440P10BE: AVPixelFormat = 153; -pub const AVPixelFormat_AV_PIX_FMT_YUV440P12LE: AVPixelFormat = 154; -pub const AVPixelFormat_AV_PIX_FMT_YUV440P12BE: AVPixelFormat = 155; -pub const AVPixelFormat_AV_PIX_FMT_AYUV64LE: AVPixelFormat = 156; -pub const AVPixelFormat_AV_PIX_FMT_AYUV64BE: AVPixelFormat = 157; -pub const AVPixelFormat_AV_PIX_FMT_VIDEOTOOLBOX: AVPixelFormat = 158; -pub const AVPixelFormat_AV_PIX_FMT_P010LE: AVPixelFormat = 159; -pub const AVPixelFormat_AV_PIX_FMT_P010BE: AVPixelFormat = 160; -pub const AVPixelFormat_AV_PIX_FMT_GBRAP12BE: AVPixelFormat = 161; -pub const AVPixelFormat_AV_PIX_FMT_GBRAP12LE: AVPixelFormat = 162; -pub const AVPixelFormat_AV_PIX_FMT_GBRAP10BE: AVPixelFormat = 163; -pub const AVPixelFormat_AV_PIX_FMT_GBRAP10LE: AVPixelFormat = 164; -pub const AVPixelFormat_AV_PIX_FMT_MEDIACODEC: AVPixelFormat = 165; -pub const AVPixelFormat_AV_PIX_FMT_GRAY12BE: AVPixelFormat = 166; -pub const AVPixelFormat_AV_PIX_FMT_GRAY12LE: AVPixelFormat = 167; -pub const AVPixelFormat_AV_PIX_FMT_GRAY10BE: AVPixelFormat = 168; -pub const AVPixelFormat_AV_PIX_FMT_GRAY10LE: AVPixelFormat = 169; -pub const AVPixelFormat_AV_PIX_FMT_P016LE: AVPixelFormat = 170; -pub const AVPixelFormat_AV_PIX_FMT_P016BE: AVPixelFormat = 171; -pub const AVPixelFormat_AV_PIX_FMT_D3D11: AVPixelFormat = 172; -pub const AVPixelFormat_AV_PIX_FMT_GRAY9BE: AVPixelFormat = 173; -pub const AVPixelFormat_AV_PIX_FMT_GRAY9LE: AVPixelFormat = 174; -pub const AVPixelFormat_AV_PIX_FMT_GBRPF32BE: AVPixelFormat = 175; -pub const AVPixelFormat_AV_PIX_FMT_GBRPF32LE: AVPixelFormat = 176; -pub const AVPixelFormat_AV_PIX_FMT_GBRAPF32BE: AVPixelFormat = 177; -pub const AVPixelFormat_AV_PIX_FMT_GBRAPF32LE: AVPixelFormat = 178; -pub const AVPixelFormat_AV_PIX_FMT_DRM_PRIME: AVPixelFormat = 179; -pub const AVPixelFormat_AV_PIX_FMT_OPENCL: AVPixelFormat = 180; -pub const AVPixelFormat_AV_PIX_FMT_GRAY14BE: AVPixelFormat = 181; -pub const AVPixelFormat_AV_PIX_FMT_GRAY14LE: AVPixelFormat = 182; -pub const AVPixelFormat_AV_PIX_FMT_GRAYF32BE: AVPixelFormat = 183; -pub const AVPixelFormat_AV_PIX_FMT_GRAYF32LE: AVPixelFormat = 184; -pub const AVPixelFormat_AV_PIX_FMT_YUVA422P12BE: AVPixelFormat = 185; -pub const AVPixelFormat_AV_PIX_FMT_YUVA422P12LE: AVPixelFormat = 186; -pub const AVPixelFormat_AV_PIX_FMT_YUVA444P12BE: AVPixelFormat = 187; -pub const AVPixelFormat_AV_PIX_FMT_YUVA444P12LE: AVPixelFormat = 188; -pub const AVPixelFormat_AV_PIX_FMT_NV24: AVPixelFormat = 189; -pub const AVPixelFormat_AV_PIX_FMT_NV42: AVPixelFormat = 190; -pub const AVPixelFormat_AV_PIX_FMT_VULKAN: AVPixelFormat = 191; -pub const AVPixelFormat_AV_PIX_FMT_Y210BE: AVPixelFormat = 192; -pub const AVPixelFormat_AV_PIX_FMT_Y210LE: AVPixelFormat = 193; -pub const AVPixelFormat_AV_PIX_FMT_X2RGB10LE: AVPixelFormat = 194; -pub const AVPixelFormat_AV_PIX_FMT_X2RGB10BE: AVPixelFormat = 195; -pub const AVPixelFormat_AV_PIX_FMT_X2BGR10LE: AVPixelFormat = 196; -pub const AVPixelFormat_AV_PIX_FMT_X2BGR10BE: AVPixelFormat = 197; -pub const AVPixelFormat_AV_PIX_FMT_P210BE: AVPixelFormat = 198; -pub const AVPixelFormat_AV_PIX_FMT_P210LE: AVPixelFormat = 199; -pub const AVPixelFormat_AV_PIX_FMT_P410BE: AVPixelFormat = 200; -pub const AVPixelFormat_AV_PIX_FMT_P410LE: AVPixelFormat = 201; -pub const AVPixelFormat_AV_PIX_FMT_P216BE: AVPixelFormat = 202; -pub const AVPixelFormat_AV_PIX_FMT_P216LE: AVPixelFormat = 203; -pub const AVPixelFormat_AV_PIX_FMT_P416BE: AVPixelFormat = 204; -pub const AVPixelFormat_AV_PIX_FMT_P416LE: AVPixelFormat = 205; -pub const AVPixelFormat_AV_PIX_FMT_VUYA: AVPixelFormat = 206; -pub const AVPixelFormat_AV_PIX_FMT_RGBAF16BE: AVPixelFormat = 207; -pub const AVPixelFormat_AV_PIX_FMT_RGBAF16LE: AVPixelFormat = 208; -pub const AVPixelFormat_AV_PIX_FMT_VUYX: AVPixelFormat = 209; -pub const AVPixelFormat_AV_PIX_FMT_P012LE: AVPixelFormat = 210; -pub const AVPixelFormat_AV_PIX_FMT_P012BE: AVPixelFormat = 211; -pub const AVPixelFormat_AV_PIX_FMT_Y212BE: AVPixelFormat = 212; -pub const AVPixelFormat_AV_PIX_FMT_Y212LE: AVPixelFormat = 213; -pub const AVPixelFormat_AV_PIX_FMT_XV30BE: AVPixelFormat = 214; -pub const AVPixelFormat_AV_PIX_FMT_XV30LE: AVPixelFormat = 215; -pub const AVPixelFormat_AV_PIX_FMT_XV36BE: AVPixelFormat = 216; -pub const AVPixelFormat_AV_PIX_FMT_XV36LE: AVPixelFormat = 217; -pub const AVPixelFormat_AV_PIX_FMT_RGBF32BE: AVPixelFormat = 218; -pub const AVPixelFormat_AV_PIX_FMT_RGBF32LE: AVPixelFormat = 219; -pub const AVPixelFormat_AV_PIX_FMT_RGBAF32BE: AVPixelFormat = 220; -pub const AVPixelFormat_AV_PIX_FMT_RGBAF32LE: AVPixelFormat = 221; -pub const AVPixelFormat_AV_PIX_FMT_NB: AVPixelFormat = 222; -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_uint; -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_uint; -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_NB: AVColorSpace = 15; -pub type AVColorSpace = ::std::os::raw::c_uint; -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_uint; -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_uint; -extern "C" { - pub fn av_int_list_length_for_size( - elsize: ::std::os::raw::c_uint, - list: *const ::std::os::raw::c_void, - term: u64, - ) -> ::std::os::raw::c_uint; -} -extern "C" { - pub fn av_fopen_utf8( - path: *const ::std::os::raw::c_char, - mode: *const ::std::os::raw::c_char, - ) -> *mut FILE; -} -extern "C" { - pub fn av_get_time_base_q() -> AVRational; -} -extern "C" { - pub fn av_fourcc_make_string( - buf: *mut ::std::os::raw::c_char, - fourcc: u32, - ) -> *mut ::std::os::raw::c_char; -} -#[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, -} -impl Default for AVBufferRef { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -extern "C" { - pub fn av_buffer_alloc(size: usize) -> *mut AVBufferRef; -} -extern "C" { - pub fn av_buffer_allocz(size: usize) -> *mut AVBufferRef; -} -extern "C" { - pub fn av_buffer_create( - data: *mut u8, - size: usize, - free: ::std::option::Option< - unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void, data: *mut u8), - >, - opaque: *mut ::std::os::raw::c_void, - flags: ::std::os::raw::c_int, - ) -> *mut AVBufferRef; -} -extern "C" { - pub fn av_buffer_default_free(opaque: *mut ::std::os::raw::c_void, data: *mut u8); -} -extern "C" { - pub fn av_buffer_ref(buf: *const AVBufferRef) -> *mut AVBufferRef; -} -extern "C" { - pub fn av_buffer_unref(buf: *mut *mut AVBufferRef); -} -extern "C" { - pub fn av_buffer_is_writable(buf: *const AVBufferRef) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_buffer_get_opaque(buf: *const AVBufferRef) -> *mut ::std::os::raw::c_void; -} -extern "C" { - pub fn av_buffer_get_ref_count(buf: *const AVBufferRef) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_buffer_make_writable(buf: *mut *mut AVBufferRef) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_buffer_realloc(buf: *mut *mut AVBufferRef, size: usize) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_buffer_replace( - dst: *mut *mut AVBufferRef, - src: *const AVBufferRef, - ) -> ::std::os::raw::c_int; -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct AVBufferPool { - _unused: [u8; 0], -} -extern "C" { - pub fn av_buffer_pool_init( - size: usize, - alloc: ::std::option::Option *mut AVBufferRef>, - ) -> *mut AVBufferPool; -} -extern "C" { - pub fn av_buffer_pool_init2( - size: usize, - opaque: *mut ::std::os::raw::c_void, - alloc: ::std::option::Option< - unsafe extern "C" fn( - opaque: *mut ::std::os::raw::c_void, - size: usize, - ) -> *mut AVBufferRef, - >, - pool_free: ::std::option::Option, - ) -> *mut AVBufferPool; -} -extern "C" { - pub fn av_buffer_pool_uninit(pool: *mut *mut AVBufferPool); -} -extern "C" { - pub fn av_buffer_pool_get(pool: *mut AVBufferPool) -> *mut AVBufferRef; -} -extern "C" { - pub fn av_buffer_pool_buffer_get_opaque( - ref_: *const AVBufferRef, - ) -> *mut ::std::os::raw::c_void; -} -#[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, -} -impl Default for AVDictionaryEntry { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct AVDictionary { - _unused: [u8; 0], -} -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; -} -extern "C" { - pub fn av_dict_iterate( - m: *const AVDictionary, - prev: *const AVDictionaryEntry, - ) -> *const AVDictionaryEntry; -} -extern "C" { - pub fn av_dict_count(m: *const AVDictionary) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_dict_set( - pm: *mut *mut AVDictionary, - key: *const ::std::os::raw::c_char, - value: *const ::std::os::raw::c_char, - flags: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_dict_set_int( - pm: *mut *mut AVDictionary, - key: *const ::std::os::raw::c_char, - value: i64, - flags: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_dict_parse_string( - pm: *mut *mut AVDictionary, - str_: *const ::std::os::raw::c_char, - key_val_sep: *const ::std::os::raw::c_char, - pairs_sep: *const ::std::os::raw::c_char, - flags: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_dict_copy( - dst: *mut *mut AVDictionary, - src: *const AVDictionary, - flags: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_dict_free(m: *mut *mut AVDictionary); -} -extern "C" { - pub fn av_dict_get_string( - m: *const AVDictionary, - buffer: *mut *mut ::std::os::raw::c_char, - key_val_sep: ::std::os::raw::c_char, - pairs_sep: ::std::os::raw::c_char, - ) -> ::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_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 type AVChannelOrder = ::std::os::raw::c_uint; -#[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, -} -impl Default for AVChannelCustom { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -#[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, -} -impl Default for AVChannelLayout__bindgen_ty_1 { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -impl Default for AVChannelLayout { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct AVBPrint { - _unused: [u8; 0], -} -extern "C" { - pub fn av_get_channel_layout(name: *const ::std::os::raw::c_char) -> u64; -} -extern "C" { - pub fn av_get_extended_channel_layout( - name: *const ::std::os::raw::c_char, - channel_layout: *mut u64, - nb_channels: *mut ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_get_channel_layout_string( - buf: *mut ::std::os::raw::c_char, - buf_size: ::std::os::raw::c_int, - nb_channels: ::std::os::raw::c_int, - channel_layout: u64, - ); -} -extern "C" { - pub fn av_bprint_channel_layout( - bp: *mut AVBPrint, - nb_channels: ::std::os::raw::c_int, - channel_layout: u64, - ); -} -extern "C" { - pub fn av_get_channel_layout_nb_channels(channel_layout: u64) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_get_default_channel_layout(nb_channels: ::std::os::raw::c_int) -> i64; -} -extern "C" { - pub fn av_get_channel_layout_channel_index( - channel_layout: u64, - channel: u64, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_channel_layout_extract_channel( - channel_layout: u64, - index: ::std::os::raw::c_int, - ) -> u64; -} -extern "C" { - pub fn av_get_channel_name(channel: u64) -> *const ::std::os::raw::c_char; -} -extern "C" { - pub fn av_get_channel_description(channel: u64) -> *const ::std::os::raw::c_char; -} -extern "C" { - pub fn av_get_standard_channel_layout( - index: ::std::os::raw::c_uint, - layout: *mut u64, - name: *mut *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_channel_name( - buf: *mut ::std::os::raw::c_char, - buf_size: usize, - channel: AVChannel, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_channel_name_bprint(bp: *mut AVBPrint, channel_id: AVChannel); -} -extern "C" { - pub fn av_channel_description( - buf: *mut ::std::os::raw::c_char, - buf_size: usize, - channel: AVChannel, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_channel_description_bprint(bp: *mut AVBPrint, channel_id: AVChannel); -} -extern "C" { - pub fn av_channel_from_string(name: *const ::std::os::raw::c_char) -> AVChannel; -} -extern "C" { - pub fn av_channel_layout_from_mask( - channel_layout: *mut AVChannelLayout, - mask: u64, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_channel_layout_from_string( - channel_layout: *mut AVChannelLayout, - str_: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_channel_layout_default( - ch_layout: *mut AVChannelLayout, - nb_channels: ::std::os::raw::c_int, - ); -} -extern "C" { - pub fn av_channel_layout_standard( - opaque: *mut *mut ::std::os::raw::c_void, - ) -> *const AVChannelLayout; -} -extern "C" { - pub fn av_channel_layout_uninit(channel_layout: *mut AVChannelLayout); -} -extern "C" { - pub fn av_channel_layout_copy( - dst: *mut AVChannelLayout, - src: *const AVChannelLayout, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_channel_layout_describe( - channel_layout: *const AVChannelLayout, - buf: *mut ::std::os::raw::c_char, - buf_size: usize, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_channel_layout_describe_bprint( - channel_layout: *const AVChannelLayout, - bp: *mut AVBPrint, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_channel_layout_channel_from_index( - channel_layout: *const AVChannelLayout, - idx: ::std::os::raw::c_uint, - ) -> AVChannel; -} -extern "C" { - pub fn av_channel_layout_index_from_channel( - channel_layout: *const AVChannelLayout, - channel: AVChannel, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_channel_layout_index_from_string( - channel_layout: *const AVChannelLayout, - name: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_channel_layout_channel_from_string( - channel_layout: *const AVChannelLayout, - name: *const ::std::os::raw::c_char, - ) -> AVChannel; -} -extern "C" { - pub fn av_channel_layout_subset(channel_layout: *const AVChannelLayout, mask: u64) -> u64; -} -extern "C" { - pub fn av_channel_layout_check(channel_layout: *const AVChannelLayout) - -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_channel_layout_compare( - chl: *const AVChannelLayout, - chl1: *const AVChannelLayout, - ) -> ::std::os::raw::c_int; -} -pub const AVFrameSideDataType_AV_FRAME_DATA_PANSCAN: AVFrameSideDataType = 0; -pub const AVFrameSideDataType_AV_FRAME_DATA_A53_CC: AVFrameSideDataType = 1; -pub const AVFrameSideDataType_AV_FRAME_DATA_STEREO3D: AVFrameSideDataType = 2; -pub const AVFrameSideDataType_AV_FRAME_DATA_MATRIXENCODING: AVFrameSideDataType = 3; -pub const AVFrameSideDataType_AV_FRAME_DATA_DOWNMIX_INFO: AVFrameSideDataType = 4; -pub const AVFrameSideDataType_AV_FRAME_DATA_REPLAYGAIN: AVFrameSideDataType = 5; -pub const AVFrameSideDataType_AV_FRAME_DATA_DISPLAYMATRIX: AVFrameSideDataType = 6; -pub const AVFrameSideDataType_AV_FRAME_DATA_AFD: AVFrameSideDataType = 7; -pub const AVFrameSideDataType_AV_FRAME_DATA_MOTION_VECTORS: AVFrameSideDataType = 8; -pub const AVFrameSideDataType_AV_FRAME_DATA_SKIP_SAMPLES: AVFrameSideDataType = 9; -pub const AVFrameSideDataType_AV_FRAME_DATA_AUDIO_SERVICE_TYPE: AVFrameSideDataType = 10; -pub const AVFrameSideDataType_AV_FRAME_DATA_MASTERING_DISPLAY_METADATA: AVFrameSideDataType = 11; -pub const AVFrameSideDataType_AV_FRAME_DATA_GOP_TIMECODE: AVFrameSideDataType = 12; -pub const AVFrameSideDataType_AV_FRAME_DATA_SPHERICAL: AVFrameSideDataType = 13; -pub const AVFrameSideDataType_AV_FRAME_DATA_CONTENT_LIGHT_LEVEL: AVFrameSideDataType = 14; -pub const AVFrameSideDataType_AV_FRAME_DATA_ICC_PROFILE: AVFrameSideDataType = 15; -pub const AVFrameSideDataType_AV_FRAME_DATA_S12M_TIMECODE: AVFrameSideDataType = 16; -pub const AVFrameSideDataType_AV_FRAME_DATA_DYNAMIC_HDR_PLUS: AVFrameSideDataType = 17; -pub const AVFrameSideDataType_AV_FRAME_DATA_REGIONS_OF_INTEREST: AVFrameSideDataType = 18; -pub const AVFrameSideDataType_AV_FRAME_DATA_VIDEO_ENC_PARAMS: AVFrameSideDataType = 19; -pub const AVFrameSideDataType_AV_FRAME_DATA_SEI_UNREGISTERED: AVFrameSideDataType = 20; -pub const AVFrameSideDataType_AV_FRAME_DATA_FILM_GRAIN_PARAMS: AVFrameSideDataType = 21; -pub const AVFrameSideDataType_AV_FRAME_DATA_DETECTION_BBOXES: AVFrameSideDataType = 22; -pub const AVFrameSideDataType_AV_FRAME_DATA_DOVI_RPU_BUFFER: AVFrameSideDataType = 23; -pub const AVFrameSideDataType_AV_FRAME_DATA_DOVI_METADATA: AVFrameSideDataType = 24; -pub const AVFrameSideDataType_AV_FRAME_DATA_DYNAMIC_HDR_VIVID: AVFrameSideDataType = 25; -pub const AVFrameSideDataType_AV_FRAME_DATA_AMBIENT_VIEWING_ENVIRONMENT: AVFrameSideDataType = 26; -pub type AVFrameSideDataType = ::std::os::raw::c_uint; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct AVFrameSideData { - pub type_: AVFrameSideDataType, - pub data: *mut u8, - pub size: usize, - pub metadata: *mut AVDictionary, - pub buf: *mut AVBufferRef, -} -impl Default for AVFrameSideData { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub struct AVFrame { - pub data: [*mut u8; 8usize], - pub linesize: [::std::os::raw::c_int; 8usize], - pub extended_data: *mut *mut u8, - pub width: ::std::os::raw::c_int, - pub height: ::std::os::raw::c_int, - pub nb_samples: ::std::os::raw::c_int, - pub format: ::std::os::raw::c_int, - pub key_frame: ::std::os::raw::c_int, - pub pict_type: AVPictureType, - pub sample_aspect_ratio: AVRational, - pub pts: i64, - pub pkt_dts: i64, - pub time_base: AVRational, - pub coded_picture_number: ::std::os::raw::c_int, - pub display_picture_number: ::std::os::raw::c_int, - pub quality: ::std::os::raw::c_int, - pub opaque: *mut ::std::os::raw::c_void, - pub repeat_pict: ::std::os::raw::c_int, - pub interlaced_frame: ::std::os::raw::c_int, - pub top_field_first: ::std::os::raw::c_int, - pub palette_has_changed: ::std::os::raw::c_int, - pub reordered_opaque: i64, - pub sample_rate: ::std::os::raw::c_int, - pub channel_layout: u64, - pub buf: [*mut AVBufferRef; 8usize], - pub extended_buf: *mut *mut AVBufferRef, - pub nb_extended_buf: ::std::os::raw::c_int, - pub side_data: *mut *mut AVFrameSideData, - pub nb_side_data: ::std::os::raw::c_int, - pub flags: ::std::os::raw::c_int, - pub color_range: AVColorRange, - pub color_primaries: AVColorPrimaries, - pub color_trc: AVColorTransferCharacteristic, - pub colorspace: AVColorSpace, - pub chroma_location: AVChromaLocation, - pub best_effort_timestamp: i64, - pub pkt_pos: i64, - pub pkt_duration: i64, - pub metadata: *mut AVDictionary, - pub decode_error_flags: ::std::os::raw::c_int, - pub channels: ::std::os::raw::c_int, - pub pkt_size: ::std::os::raw::c_int, - pub hw_frames_ctx: *mut AVBufferRef, - pub opaque_ref: *mut AVBufferRef, - pub crop_top: usize, - pub crop_bottom: usize, - pub crop_left: usize, - pub crop_right: usize, - pub private_ref: *mut AVBufferRef, - pub ch_layout: AVChannelLayout, - pub duration: i64, -} -impl Default for AVFrame { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -extern "C" { - pub fn av_frame_alloc() -> *mut AVFrame; -} -extern "C" { - pub fn av_frame_free(frame: *mut *mut AVFrame); -} -extern "C" { - pub fn av_frame_ref(dst: *mut AVFrame, src: *const AVFrame) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_frame_clone(src: *const AVFrame) -> *mut AVFrame; -} -extern "C" { - pub fn av_frame_unref(frame: *mut AVFrame); -} -extern "C" { - pub fn av_frame_move_ref(dst: *mut AVFrame, src: *mut AVFrame); -} -extern "C" { - pub fn av_frame_get_buffer( - frame: *mut AVFrame, - align: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_frame_is_writable(frame: *mut AVFrame) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_frame_make_writable(frame: *mut AVFrame) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_frame_copy(dst: *mut AVFrame, src: *const AVFrame) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_frame_copy_props(dst: *mut AVFrame, src: *const AVFrame) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_frame_get_plane_buffer( - frame: *mut AVFrame, - plane: ::std::os::raw::c_int, - ) -> *mut AVBufferRef; -} -extern "C" { - pub fn av_frame_new_side_data( - frame: *mut AVFrame, - type_: AVFrameSideDataType, - size: usize, - ) -> *mut AVFrameSideData; -} -extern "C" { - pub fn av_frame_new_side_data_from_buf( - frame: *mut AVFrame, - type_: AVFrameSideDataType, - buf: *mut AVBufferRef, - ) -> *mut AVFrameSideData; -} -extern "C" { - pub fn av_frame_get_side_data( - frame: *const AVFrame, - type_: AVFrameSideDataType, - ) -> *mut AVFrameSideData; -} -extern "C" { - pub fn av_frame_remove_side_data(frame: *mut AVFrame, type_: AVFrameSideDataType); -} -pub const AV_FRAME_CROP_UNALIGNED: _bindgen_ty_2 = 1; -pub type _bindgen_ty_2 = ::std::os::raw::c_uint; -extern "C" { - pub fn av_frame_apply_cropping( - frame: *mut AVFrame, - flags: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_frame_side_data_name(type_: AVFrameSideDataType) -> *const ::std::os::raw::c_char; -} -pub const AVHWDeviceType_AV_HWDEVICE_TYPE_NONE: AVHWDeviceType = 0; -pub const AVHWDeviceType_AV_HWDEVICE_TYPE_VDPAU: AVHWDeviceType = 1; -pub const AVHWDeviceType_AV_HWDEVICE_TYPE_CUDA: AVHWDeviceType = 2; -pub const AVHWDeviceType_AV_HWDEVICE_TYPE_VAAPI: AVHWDeviceType = 3; -pub const AVHWDeviceType_AV_HWDEVICE_TYPE_DXVA2: AVHWDeviceType = 4; -pub const AVHWDeviceType_AV_HWDEVICE_TYPE_QSV: AVHWDeviceType = 5; -pub const AVHWDeviceType_AV_HWDEVICE_TYPE_VIDEOTOOLBOX: AVHWDeviceType = 6; -pub const AVHWDeviceType_AV_HWDEVICE_TYPE_D3D11VA: AVHWDeviceType = 7; -pub const AVHWDeviceType_AV_HWDEVICE_TYPE_DRM: AVHWDeviceType = 8; -pub const AVHWDeviceType_AV_HWDEVICE_TYPE_OPENCL: AVHWDeviceType = 9; -pub const AVHWDeviceType_AV_HWDEVICE_TYPE_MEDIACODEC: AVHWDeviceType = 10; -pub const AVHWDeviceType_AV_HWDEVICE_TYPE_VULKAN: AVHWDeviceType = 11; -pub type AVHWDeviceType = ::std::os::raw::c_uint; -extern "C" { - pub fn av_hwdevice_find_type_by_name(name: *const ::std::os::raw::c_char) -> AVHWDeviceType; -} -extern "C" { - pub fn av_hwdevice_get_type_name(type_: AVHWDeviceType) -> *const ::std::os::raw::c_char; -} -extern "C" { - pub fn av_hwdevice_iterate_types(prev: AVHWDeviceType) -> AVHWDeviceType; -} -extern "C" { - pub fn av_hwdevice_ctx_alloc(type_: AVHWDeviceType) -> *mut AVBufferRef; -} -extern "C" { - pub fn av_hwdevice_ctx_init(ref_: *mut AVBufferRef) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_hwdevice_ctx_create( - device_ctx: *mut *mut AVBufferRef, - type_: AVHWDeviceType, - device: *const ::std::os::raw::c_char, - opts: *mut AVDictionary, - flags: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_hwdevice_ctx_create_derived( - dst_ctx: *mut *mut AVBufferRef, - type_: AVHWDeviceType, - src_ctx: *mut AVBufferRef, - flags: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_hwdevice_ctx_create_derived_opts( - dst_ctx: *mut *mut AVBufferRef, - type_: AVHWDeviceType, - src_ctx: *mut AVBufferRef, - options: *mut AVDictionary, - flags: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_hwframe_ctx_alloc(device_ctx: *mut AVBufferRef) -> *mut AVBufferRef; -} -extern "C" { - pub fn av_hwframe_ctx_init(ref_: *mut AVBufferRef) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_hwframe_get_buffer( - hwframe_ctx: *mut AVBufferRef, - frame: *mut AVFrame, - flags: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_hwframe_transfer_data( - dst: *mut AVFrame, - src: *const AVFrame, - flags: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -pub const AVHWFrameTransferDirection_AV_HWFRAME_TRANSFER_DIRECTION_FROM: - AVHWFrameTransferDirection = 0; -pub const AVHWFrameTransferDirection_AV_HWFRAME_TRANSFER_DIRECTION_TO: AVHWFrameTransferDirection = - 1; -pub type AVHWFrameTransferDirection = ::std::os::raw::c_uint; -extern "C" { - pub fn av_hwframe_transfer_get_formats( - hwframe_ctx: *mut AVBufferRef, - dir: AVHWFrameTransferDirection, - formats: *mut *mut AVPixelFormat, - flags: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct AVHWFramesConstraints { - pub valid_hw_formats: *mut AVPixelFormat, - pub valid_sw_formats: *mut AVPixelFormat, - pub min_width: ::std::os::raw::c_int, - pub min_height: ::std::os::raw::c_int, - pub max_width: ::std::os::raw::c_int, - pub max_height: ::std::os::raw::c_int, -} -impl Default for AVHWFramesConstraints { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -extern "C" { - pub fn av_hwdevice_hwconfig_alloc(device_ctx: *mut AVBufferRef) -> *mut ::std::os::raw::c_void; -} -extern "C" { - pub fn av_hwdevice_get_hwframe_constraints( - ref_: *mut AVBufferRef, - hwconfig: *const ::std::os::raw::c_void, - ) -> *mut AVHWFramesConstraints; -} -extern "C" { - pub fn av_hwframe_constraints_free(constraints: *mut *mut AVHWFramesConstraints); -} -pub const AV_HWFRAME_MAP_READ: _bindgen_ty_3 = 1; -pub const AV_HWFRAME_MAP_WRITE: _bindgen_ty_3 = 2; -pub const AV_HWFRAME_MAP_OVERWRITE: _bindgen_ty_3 = 4; -pub const AV_HWFRAME_MAP_DIRECT: _bindgen_ty_3 = 8; -pub type _bindgen_ty_3 = ::std::os::raw::c_uint; -extern "C" { - pub fn av_hwframe_map( - dst: *mut AVFrame, - src: *const AVFrame, - flags: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_hwframe_ctx_create_derived( - derived_frame_ctx: *mut *mut AVBufferRef, - format: AVPixelFormat, - derived_device_ctx: *mut AVBufferRef, - source_frame_ctx: *mut AVBufferRef, - flags: ::std::os::raw::c_int, - ) -> ::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_AYUV: AVCodecID = 201; -pub const AVCodecID_AV_CODEC_ID_TARGA_Y216: AVCodecID = 202; -pub const AVCodecID_AV_CODEC_ID_V308: AVCodecID = 203; -pub const AVCodecID_AV_CODEC_ID_V408: AVCodecID = 204; -pub const AVCodecID_AV_CODEC_ID_YUV4: AVCodecID = 205; -pub const AVCodecID_AV_CODEC_ID_AVRN: AVCodecID = 206; -pub const AVCodecID_AV_CODEC_ID_CPIA: AVCodecID = 207; -pub const AVCodecID_AV_CODEC_ID_XFACE: AVCodecID = 208; -pub const AVCodecID_AV_CODEC_ID_SNOW: AVCodecID = 209; -pub const AVCodecID_AV_CODEC_ID_SMVJPEG: AVCodecID = 210; -pub const AVCodecID_AV_CODEC_ID_APNG: AVCodecID = 211; -pub const AVCodecID_AV_CODEC_ID_DAALA: AVCodecID = 212; -pub const AVCodecID_AV_CODEC_ID_CFHD: AVCodecID = 213; -pub const AVCodecID_AV_CODEC_ID_TRUEMOTION2RT: AVCodecID = 214; -pub const AVCodecID_AV_CODEC_ID_M101: AVCodecID = 215; -pub const AVCodecID_AV_CODEC_ID_MAGICYUV: AVCodecID = 216; -pub const AVCodecID_AV_CODEC_ID_SHEERVIDEO: AVCodecID = 217; -pub const AVCodecID_AV_CODEC_ID_YLC: AVCodecID = 218; -pub const AVCodecID_AV_CODEC_ID_PSD: AVCodecID = 219; -pub const AVCodecID_AV_CODEC_ID_PIXLET: AVCodecID = 220; -pub const AVCodecID_AV_CODEC_ID_SPEEDHQ: AVCodecID = 221; -pub const AVCodecID_AV_CODEC_ID_FMVC: AVCodecID = 222; -pub const AVCodecID_AV_CODEC_ID_SCPR: AVCodecID = 223; -pub const AVCodecID_AV_CODEC_ID_CLEARVIDEO: AVCodecID = 224; -pub const AVCodecID_AV_CODEC_ID_XPM: AVCodecID = 225; -pub const AVCodecID_AV_CODEC_ID_AV1: AVCodecID = 226; -pub const AVCodecID_AV_CODEC_ID_BITPACKED: AVCodecID = 227; -pub const AVCodecID_AV_CODEC_ID_MSCC: AVCodecID = 228; -pub const AVCodecID_AV_CODEC_ID_SRGC: AVCodecID = 229; -pub const AVCodecID_AV_CODEC_ID_SVG: AVCodecID = 230; -pub const AVCodecID_AV_CODEC_ID_GDV: AVCodecID = 231; -pub const AVCodecID_AV_CODEC_ID_FITS: AVCodecID = 232; -pub const AVCodecID_AV_CODEC_ID_IMM4: AVCodecID = 233; -pub const AVCodecID_AV_CODEC_ID_PROSUMER: AVCodecID = 234; -pub const AVCodecID_AV_CODEC_ID_MWSC: AVCodecID = 235; -pub const AVCodecID_AV_CODEC_ID_WCMV: AVCodecID = 236; -pub const AVCodecID_AV_CODEC_ID_RASC: AVCodecID = 237; -pub const AVCodecID_AV_CODEC_ID_HYMT: AVCodecID = 238; -pub const AVCodecID_AV_CODEC_ID_ARBC: AVCodecID = 239; -pub const AVCodecID_AV_CODEC_ID_AGM: AVCodecID = 240; -pub const AVCodecID_AV_CODEC_ID_LSCR: AVCodecID = 241; -pub const AVCodecID_AV_CODEC_ID_VP4: AVCodecID = 242; -pub const AVCodecID_AV_CODEC_ID_IMM5: AVCodecID = 243; -pub const AVCodecID_AV_CODEC_ID_MVDV: AVCodecID = 244; -pub const AVCodecID_AV_CODEC_ID_MVHA: AVCodecID = 245; -pub const AVCodecID_AV_CODEC_ID_CDTOONS: AVCodecID = 246; -pub const AVCodecID_AV_CODEC_ID_MV30: AVCodecID = 247; -pub const AVCodecID_AV_CODEC_ID_NOTCHLC: AVCodecID = 248; -pub const AVCodecID_AV_CODEC_ID_PFM: AVCodecID = 249; -pub const AVCodecID_AV_CODEC_ID_MOBICLIP: AVCodecID = 250; -pub const AVCodecID_AV_CODEC_ID_PHOTOCD: AVCodecID = 251; -pub const AVCodecID_AV_CODEC_ID_IPU: AVCodecID = 252; -pub const AVCodecID_AV_CODEC_ID_ARGO: AVCodecID = 253; -pub const AVCodecID_AV_CODEC_ID_CRI: AVCodecID = 254; -pub const AVCodecID_AV_CODEC_ID_SIMBIOSIS_IMX: AVCodecID = 255; -pub const AVCodecID_AV_CODEC_ID_SGA_VIDEO: AVCodecID = 256; -pub const AVCodecID_AV_CODEC_ID_GEM: AVCodecID = 257; -pub const AVCodecID_AV_CODEC_ID_VBN: AVCodecID = 258; -pub const AVCodecID_AV_CODEC_ID_JPEGXL: AVCodecID = 259; -pub const AVCodecID_AV_CODEC_ID_QOI: AVCodecID = 260; -pub const AVCodecID_AV_CODEC_ID_PHM: AVCodecID = 261; -pub const AVCodecID_AV_CODEC_ID_RADIANCE_HDR: AVCodecID = 262; -pub const AVCodecID_AV_CODEC_ID_WBMP: AVCodecID = 263; -pub const AVCodecID_AV_CODEC_ID_MEDIA100: AVCodecID = 264; -pub const AVCodecID_AV_CODEC_ID_VQC: AVCodecID = 265; -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_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_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_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_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_uint; -extern "C" { - pub fn avcodec_get_type(codec_id: AVCodecID) -> AVMediaType; -} -extern "C" { - pub fn avcodec_get_name(id: AVCodecID) -> *const ::std::os::raw::c_char; -} -extern "C" { - pub fn av_get_bits_per_sample(codec_id: AVCodecID) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_get_exact_bits_per_sample(codec_id: AVCodecID) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn avcodec_profile_name( - codec_id: AVCodecID, - profile: ::std::os::raw::c_int, - ) -> *const ::std::os::raw::c_char; -} -extern "C" { - pub fn av_get_pcm_codec(fmt: AVSampleFormat, be: ::std::os::raw::c_int) -> AVCodecID; -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct AVProfile { - pub profile: ::std::os::raw::c_int, - pub name: *const ::std::os::raw::c_char, -} -impl Default for AVProfile { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -#[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 channel_layouts: *const u64, - pub priv_class: *const AVClass, - pub profiles: *const AVProfile, - pub wrapper_name: *const ::std::os::raw::c_char, - pub ch_layouts: *const AVChannelLayout, -} -impl Default for AVCodec { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -extern "C" { - pub fn av_codec_iterate(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVCodec; -} -extern "C" { - pub fn avcodec_find_decoder(id: AVCodecID) -> *const AVCodec; -} -extern "C" { - pub fn avcodec_find_decoder_by_name(name: *const ::std::os::raw::c_char) -> *const AVCodec; -} -extern "C" { - pub fn avcodec_find_encoder(id: AVCodecID) -> *const AVCodec; -} -extern "C" { - pub fn avcodec_find_encoder_by_name(name: *const ::std::os::raw::c_char) -> *const AVCodec; -} -extern "C" { - pub fn av_codec_is_encoder(codec: *const AVCodec) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_codec_is_decoder(codec: *const AVCodec) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_get_profile_name( - codec: *const AVCodec, - profile: ::std::os::raw::c_int, - ) -> *const ::std::os::raw::c_char; -} -pub const AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX: _bindgen_ty_4 = 1; -pub const AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX: _bindgen_ty_4 = 2; -pub const AV_CODEC_HW_CONFIG_METHOD_INTERNAL: _bindgen_ty_4 = 4; -pub const AV_CODEC_HW_CONFIG_METHOD_AD_HOC: _bindgen_ty_4 = 8; -pub type _bindgen_ty_4 = ::std::os::raw::c_uint; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct AVCodecHWConfig { - pub pix_fmt: AVPixelFormat, - pub methods: ::std::os::raw::c_int, - pub device_type: AVHWDeviceType, -} -impl Default for AVCodecHWConfig { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -extern "C" { - pub fn avcodec_get_hw_config( - codec: *const AVCodec, - index: ::std::os::raw::c_int, - ) -> *const AVCodecHWConfig; -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct AVCodecDescriptor { - pub id: AVCodecID, - pub type_: AVMediaType, - pub name: *const ::std::os::raw::c_char, - pub long_name: *const ::std::os::raw::c_char, - pub props: ::std::os::raw::c_int, - pub mime_types: *const *const ::std::os::raw::c_char, - pub profiles: *const AVProfile, -} -impl Default for AVCodecDescriptor { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -extern "C" { - pub fn avcodec_descriptor_get(id: AVCodecID) -> *const AVCodecDescriptor; -} -extern "C" { - pub fn avcodec_descriptor_next(prev: *const AVCodecDescriptor) -> *const AVCodecDescriptor; -} -extern "C" { - pub fn avcodec_descriptor_get_by_name( - name: *const ::std::os::raw::c_char, - ) -> *const AVCodecDescriptor; -} -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_uint; -#[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 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 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 channel_layout: u64, - pub channels: ::std::os::raw::c_int, - 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, - pub ch_layout: AVChannelLayout, -} -impl Default for AVCodecParameters { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -extern "C" { - pub fn avcodec_parameters_alloc() -> *mut AVCodecParameters; -} -extern "C" { - pub fn avcodec_parameters_free(par: *mut *mut AVCodecParameters); -} -extern "C" { - pub fn avcodec_parameters_copy( - dst: *mut AVCodecParameters, - src: *const AVCodecParameters, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_get_audio_frame_duration2( - par: *mut AVCodecParameters, - frame_bytes: ::std::os::raw::c_int, - ) -> ::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; -pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_MAIN: AVAudioServiceType = 0; -pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_EFFECTS: AVAudioServiceType = 1; -pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED: AVAudioServiceType = 2; -pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED: AVAudioServiceType = 3; -pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_DIALOGUE: AVAudioServiceType = 4; -pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_COMMENTARY: AVAudioServiceType = 5; -pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_EMERGENCY: AVAudioServiceType = 6; -pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_VOICE_OVER: AVAudioServiceType = 7; -pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_KARAOKE: AVAudioServiceType = 8; -pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_NB: AVAudioServiceType = 9; -pub type AVAudioServiceType = ::std::os::raw::c_uint; -#[repr(C)] -#[derive(Debug, Default, Copy, Clone)] -pub struct AVCPBProperties { - pub max_bitrate: i64, - pub min_bitrate: i64, - pub avg_bitrate: i64, - pub buffer_size: i64, - pub vbv_delay: u64, -} -extern "C" { - pub fn av_cpb_properties_alloc(size: *mut usize) -> *mut AVCPBProperties; -} -extern "C" { - pub fn av_xiphlacing( - s: *mut ::std::os::raw::c_uchar, - v: ::std::os::raw::c_uint, - ) -> ::std::os::raw::c_uint; -} -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_NB: AVPacketSideDataType = 32; -pub type AVPacketSideDataType = ::std::os::raw::c_uint; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct AVPacketSideData { - pub data: *mut u8, - pub size: usize, - pub type_: AVPacketSideDataType, -} -impl Default for AVPacketSideData { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -#[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, -} -impl Default for AVPacket { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -extern "C" { - pub fn av_packet_alloc() -> *mut AVPacket; -} -extern "C" { - pub fn av_packet_clone(src: *const AVPacket) -> *mut AVPacket; -} -extern "C" { - pub fn av_packet_free(pkt: *mut *mut AVPacket); -} -extern "C" { - pub fn av_init_packet(pkt: *mut AVPacket); -} -extern "C" { - pub fn av_new_packet(pkt: *mut AVPacket, size: ::std::os::raw::c_int) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_shrink_packet(pkt: *mut AVPacket, size: ::std::os::raw::c_int); -} -extern "C" { - pub fn av_grow_packet( - pkt: *mut AVPacket, - grow_by: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_packet_from_data( - pkt: *mut AVPacket, - data: *mut u8, - size: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_packet_new_side_data( - pkt: *mut AVPacket, - type_: AVPacketSideDataType, - size: usize, - ) -> *mut u8; -} -extern "C" { - pub fn av_packet_add_side_data( - pkt: *mut AVPacket, - type_: AVPacketSideDataType, - data: *mut u8, - size: usize, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_packet_shrink_side_data( - pkt: *mut AVPacket, - type_: AVPacketSideDataType, - size: usize, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_packet_get_side_data( - pkt: *const AVPacket, - type_: AVPacketSideDataType, - size: *mut usize, - ) -> *mut u8; -} -extern "C" { - pub fn av_packet_side_data_name(type_: AVPacketSideDataType) -> *const ::std::os::raw::c_char; -} -extern "C" { - pub fn av_packet_pack_dictionary(dict: *mut AVDictionary, size: *mut usize) -> *mut u8; -} -extern "C" { - pub fn av_packet_unpack_dictionary( - data: *const u8, - size: usize, - dict: *mut *mut AVDictionary, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_packet_free_side_data(pkt: *mut AVPacket); -} -extern "C" { - pub fn av_packet_ref(dst: *mut AVPacket, src: *const AVPacket) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_packet_unref(pkt: *mut AVPacket); -} -extern "C" { - pub fn av_packet_move_ref(dst: *mut AVPacket, src: *mut AVPacket); -} -extern "C" { - pub fn av_packet_copy_props(dst: *mut AVPacket, src: *const AVPacket) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_packet_make_refcounted(pkt: *mut AVPacket) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_packet_make_writable(pkt: *mut AVPacket) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_packet_rescale_ts(pkt: *mut AVPacket, tb_src: AVRational, tb_dst: AVRational); -} -#[repr(C)] -#[derive(Debug, Default, Copy, Clone)] -pub struct RcOverride { - pub start_frame: ::std::os::raw::c_int, - pub end_frame: ::std::os::raw::c_int, - pub qscale: ::std::os::raw::c_int, - pub quality_factor: f32, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct AVCodecInternal { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Copy, Clone)] -pub struct AVCodecContext { - pub av_class: *const AVClass, - pub log_level_offset: ::std::os::raw::c_int, - pub codec_type: AVMediaType, - pub codec: *const AVCodec, - pub codec_id: AVCodecID, - pub codec_tag: ::std::os::raw::c_uint, - pub priv_data: *mut ::std::os::raw::c_void, - pub internal: *mut AVCodecInternal, - pub opaque: *mut ::std::os::raw::c_void, - pub bit_rate: i64, - pub bit_rate_tolerance: ::std::os::raw::c_int, - pub global_quality: ::std::os::raw::c_int, - pub compression_level: ::std::os::raw::c_int, - pub flags: ::std::os::raw::c_int, - pub flags2: ::std::os::raw::c_int, - pub extradata: *mut u8, - pub extradata_size: ::std::os::raw::c_int, - pub time_base: AVRational, - pub ticks_per_frame: ::std::os::raw::c_int, - pub delay: ::std::os::raw::c_int, - pub width: ::std::os::raw::c_int, - pub height: ::std::os::raw::c_int, - pub coded_width: ::std::os::raw::c_int, - pub coded_height: ::std::os::raw::c_int, - pub gop_size: ::std::os::raw::c_int, - pub pix_fmt: AVPixelFormat, - pub draw_horiz_band: ::std::option::Option< - unsafe extern "C" fn( - s: *mut AVCodecContext, - src: *const AVFrame, - offset: *mut ::std::os::raw::c_int, - y: ::std::os::raw::c_int, - type_: ::std::os::raw::c_int, - height: ::std::os::raw::c_int, - ), - >, - pub get_format: ::std::option::Option< - unsafe extern "C" fn(s: *mut AVCodecContext, fmt: *const AVPixelFormat) -> AVPixelFormat, - >, - pub max_b_frames: ::std::os::raw::c_int, - pub b_quant_factor: f32, - pub b_quant_offset: f32, - pub has_b_frames: ::std::os::raw::c_int, - pub i_quant_factor: f32, - pub i_quant_offset: f32, - pub lumi_masking: f32, - pub temporal_cplx_masking: f32, - pub spatial_cplx_masking: f32, - pub p_masking: f32, - pub dark_masking: f32, - pub slice_count: ::std::os::raw::c_int, - pub slice_offset: *mut ::std::os::raw::c_int, - pub sample_aspect_ratio: AVRational, - pub me_cmp: ::std::os::raw::c_int, - pub me_sub_cmp: ::std::os::raw::c_int, - pub mb_cmp: ::std::os::raw::c_int, - pub ildct_cmp: ::std::os::raw::c_int, - pub dia_size: ::std::os::raw::c_int, - pub last_predictor_count: ::std::os::raw::c_int, - pub me_pre_cmp: ::std::os::raw::c_int, - pub pre_dia_size: ::std::os::raw::c_int, - pub me_subpel_quality: ::std::os::raw::c_int, - pub me_range: ::std::os::raw::c_int, - pub slice_flags: ::std::os::raw::c_int, - pub mb_decision: ::std::os::raw::c_int, - pub intra_matrix: *mut u16, - pub inter_matrix: *mut u16, - pub intra_dc_precision: ::std::os::raw::c_int, - pub skip_top: ::std::os::raw::c_int, - pub skip_bottom: ::std::os::raw::c_int, - pub mb_lmin: ::std::os::raw::c_int, - pub mb_lmax: ::std::os::raw::c_int, - pub bidir_refine: ::std::os::raw::c_int, - pub keyint_min: ::std::os::raw::c_int, - pub refs: ::std::os::raw::c_int, - pub mv0_threshold: ::std::os::raw::c_int, - pub color_primaries: AVColorPrimaries, - pub color_trc: AVColorTransferCharacteristic, - pub colorspace: AVColorSpace, - pub color_range: AVColorRange, - pub chroma_sample_location: AVChromaLocation, - pub slices: ::std::os::raw::c_int, - pub field_order: AVFieldOrder, - pub sample_rate: ::std::os::raw::c_int, - pub channels: ::std::os::raw::c_int, - pub sample_fmt: AVSampleFormat, - pub frame_size: ::std::os::raw::c_int, - pub frame_number: ::std::os::raw::c_int, - pub block_align: ::std::os::raw::c_int, - pub cutoff: ::std::os::raw::c_int, - pub channel_layout: u64, - pub request_channel_layout: u64, - pub audio_service_type: AVAudioServiceType, - pub request_sample_fmt: AVSampleFormat, - pub get_buffer2: ::std::option::Option< - unsafe extern "C" fn( - s: *mut AVCodecContext, - frame: *mut AVFrame, - flags: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, - >, - pub qcompress: f32, - pub qblur: f32, - pub qmin: ::std::os::raw::c_int, - pub qmax: ::std::os::raw::c_int, - pub max_qdiff: ::std::os::raw::c_int, - pub rc_buffer_size: ::std::os::raw::c_int, - pub rc_override_count: ::std::os::raw::c_int, - pub rc_override: *mut RcOverride, - pub rc_max_rate: i64, - pub rc_min_rate: i64, - pub rc_max_available_vbv_use: f32, - pub rc_min_vbv_overflow_use: f32, - pub rc_initial_buffer_occupancy: ::std::os::raw::c_int, - pub trellis: ::std::os::raw::c_int, - pub stats_out: *mut ::std::os::raw::c_char, - pub stats_in: *mut ::std::os::raw::c_char, - pub workaround_bugs: ::std::os::raw::c_int, - pub strict_std_compliance: ::std::os::raw::c_int, - pub error_concealment: ::std::os::raw::c_int, - pub debug: ::std::os::raw::c_int, - pub err_recognition: ::std::os::raw::c_int, - pub reordered_opaque: i64, - pub hwaccel: *const AVHWAccel, - pub hwaccel_context: *mut ::std::os::raw::c_void, - pub error: [u64; 8usize], - pub dct_algo: ::std::os::raw::c_int, - pub idct_algo: ::std::os::raw::c_int, - pub bits_per_coded_sample: ::std::os::raw::c_int, - pub bits_per_raw_sample: ::std::os::raw::c_int, - pub lowres: ::std::os::raw::c_int, - pub thread_count: ::std::os::raw::c_int, - pub thread_type: ::std::os::raw::c_int, - pub active_thread_type: ::std::os::raw::c_int, - pub execute: ::std::option::Option< - unsafe extern "C" fn( - c: *mut AVCodecContext, - func: ::std::option::Option< - unsafe extern "C" fn( - c2: *mut AVCodecContext, - arg: *mut ::std::os::raw::c_void, - ) -> ::std::os::raw::c_int, - >, - arg2: *mut ::std::os::raw::c_void, - ret: *mut ::std::os::raw::c_int, - count: ::std::os::raw::c_int, - size: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, - >, - pub execute2: ::std::option::Option< - unsafe extern "C" fn( - c: *mut AVCodecContext, - func: ::std::option::Option< - unsafe extern "C" fn( - c2: *mut AVCodecContext, - arg: *mut ::std::os::raw::c_void, - jobnr: ::std::os::raw::c_int, - threadnr: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, - >, - arg2: *mut ::std::os::raw::c_void, - ret: *mut ::std::os::raw::c_int, - count: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, - >, - pub nsse_weight: ::std::os::raw::c_int, - pub profile: ::std::os::raw::c_int, - pub level: ::std::os::raw::c_int, - pub skip_loop_filter: AVDiscard, - pub skip_idct: AVDiscard, - pub skip_frame: AVDiscard, - pub subtitle_header: *mut u8, - pub subtitle_header_size: ::std::os::raw::c_int, - pub initial_padding: ::std::os::raw::c_int, - pub framerate: AVRational, - pub sw_pix_fmt: AVPixelFormat, - pub pkt_timebase: AVRational, - pub codec_descriptor: *const AVCodecDescriptor, - pub pts_correction_num_faulty_pts: i64, - pub pts_correction_num_faulty_dts: i64, - pub pts_correction_last_pts: i64, - pub pts_correction_last_dts: i64, - pub sub_charenc: *mut ::std::os::raw::c_char, - pub sub_charenc_mode: ::std::os::raw::c_int, - pub skip_alpha: ::std::os::raw::c_int, - pub seek_preroll: ::std::os::raw::c_int, - pub chroma_intra_matrix: *mut u16, - pub dump_separator: *mut u8, - pub codec_whitelist: *mut ::std::os::raw::c_char, - pub properties: ::std::os::raw::c_uint, - pub coded_side_data: *mut AVPacketSideData, - pub nb_coded_side_data: ::std::os::raw::c_int, - pub hw_frames_ctx: *mut AVBufferRef, - pub trailing_padding: ::std::os::raw::c_int, - pub max_pixels: i64, - pub hw_device_ctx: *mut AVBufferRef, - pub hwaccel_flags: ::std::os::raw::c_int, - pub apply_cropping: ::std::os::raw::c_int, - pub extra_hw_frames: ::std::os::raw::c_int, - pub discard_damaged_percentage: ::std::os::raw::c_int, - pub max_samples: i64, - pub export_side_data: ::std::os::raw::c_int, - pub get_encode_buffer: ::std::option::Option< - unsafe extern "C" fn( - s: *mut AVCodecContext, - pkt: *mut AVPacket, - flags: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, - >, - pub ch_layout: AVChannelLayout, - pub frame_num: i64, -} -impl Default for AVCodecContext { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct AVHWAccel { - pub name: *const ::std::os::raw::c_char, - pub type_: AVMediaType, - pub id: AVCodecID, - pub pix_fmt: AVPixelFormat, - pub capabilities: ::std::os::raw::c_int, - pub alloc_frame: ::std::option::Option< - unsafe extern "C" fn( - avctx: *mut AVCodecContext, - frame: *mut AVFrame, - ) -> ::std::os::raw::c_int, - >, - pub start_frame: ::std::option::Option< - unsafe extern "C" fn( - avctx: *mut AVCodecContext, - buf: *const u8, - buf_size: u32, - ) -> ::std::os::raw::c_int, - >, - pub decode_params: ::std::option::Option< - unsafe extern "C" fn( - avctx: *mut AVCodecContext, - type_: ::std::os::raw::c_int, - buf: *const u8, - buf_size: u32, - ) -> ::std::os::raw::c_int, - >, - pub decode_slice: ::std::option::Option< - unsafe extern "C" fn( - avctx: *mut AVCodecContext, - buf: *const u8, - buf_size: u32, - ) -> ::std::os::raw::c_int, - >, - pub end_frame: ::std::option::Option< - unsafe extern "C" fn(avctx: *mut AVCodecContext) -> ::std::os::raw::c_int, - >, - pub frame_priv_data_size: ::std::os::raw::c_int, - pub init: ::std::option::Option< - unsafe extern "C" fn(avctx: *mut AVCodecContext) -> ::std::os::raw::c_int, - >, - pub uninit: ::std::option::Option< - unsafe extern "C" fn(avctx: *mut AVCodecContext) -> ::std::os::raw::c_int, - >, - pub priv_data_size: ::std::os::raw::c_int, - pub caps_internal: ::std::os::raw::c_int, - pub frame_params: ::std::option::Option< - unsafe extern "C" fn( - avctx: *mut AVCodecContext, - hw_frames_ctx: *mut AVBufferRef, - ) -> ::std::os::raw::c_int, - >, -} -impl Default for AVHWAccel { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -pub const AVSubtitleType_SUBTITLE_NONE: AVSubtitleType = 0; -pub const AVSubtitleType_SUBTITLE_BITMAP: AVSubtitleType = 1; -pub const AVSubtitleType_SUBTITLE_TEXT: AVSubtitleType = 2; -pub const AVSubtitleType_SUBTITLE_ASS: AVSubtitleType = 3; -pub type AVSubtitleType = ::std::os::raw::c_uint; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct AVSubtitleRect { - pub x: ::std::os::raw::c_int, - pub y: ::std::os::raw::c_int, - pub w: ::std::os::raw::c_int, - pub h: ::std::os::raw::c_int, - pub nb_colors: ::std::os::raw::c_int, - pub data: [*mut u8; 4usize], - pub linesize: [::std::os::raw::c_int; 4usize], - pub type_: AVSubtitleType, - pub text: *mut ::std::os::raw::c_char, - pub ass: *mut ::std::os::raw::c_char, - pub flags: ::std::os::raw::c_int, -} -impl Default for AVSubtitleRect { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct AVSubtitle { - pub format: u16, - pub start_display_time: u32, - pub end_display_time: u32, - pub num_rects: ::std::os::raw::c_uint, - pub rects: *mut *mut AVSubtitleRect, - pub pts: i64, -} -impl Default for AVSubtitle { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -extern "C" { - pub fn avcodec_version() -> ::std::os::raw::c_uint; -} -extern "C" { - pub fn avcodec_configuration() -> *const ::std::os::raw::c_char; -} -extern "C" { - pub fn avcodec_license() -> *const ::std::os::raw::c_char; -} -extern "C" { - pub fn avcodec_alloc_context3(codec: *const AVCodec) -> *mut AVCodecContext; -} -extern "C" { - pub fn avcodec_free_context(avctx: *mut *mut AVCodecContext); -} -extern "C" { - pub fn avcodec_get_class() -> *const AVClass; -} -extern "C" { - pub fn avcodec_get_subtitle_rect_class() -> *const AVClass; -} -extern "C" { - pub fn avcodec_parameters_from_context( - par: *mut AVCodecParameters, - codec: *const AVCodecContext, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn avcodec_parameters_to_context( - codec: *mut AVCodecContext, - par: *const AVCodecParameters, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn avcodec_open2( - avctx: *mut AVCodecContext, - codec: *const AVCodec, - options: *mut *mut AVDictionary, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn avcodec_close(avctx: *mut AVCodecContext) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn avcodec_default_get_buffer2( - s: *mut AVCodecContext, - frame: *mut AVFrame, - flags: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn avcodec_default_get_encode_buffer( - s: *mut AVCodecContext, - pkt: *mut AVPacket, - flags: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn avcodec_align_dimensions( - s: *mut AVCodecContext, - width: *mut ::std::os::raw::c_int, - height: *mut ::std::os::raw::c_int, - ); -} -extern "C" { - pub fn avcodec_align_dimensions2( - s: *mut AVCodecContext, - width: *mut ::std::os::raw::c_int, - height: *mut ::std::os::raw::c_int, - linesize_align: *mut ::std::os::raw::c_int, - ); -} -extern "C" { - pub fn avcodec_enum_to_chroma_pos( - xpos: *mut ::std::os::raw::c_int, - ypos: *mut ::std::os::raw::c_int, - pos: AVChromaLocation, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn avcodec_chroma_pos_to_enum( - xpos: ::std::os::raw::c_int, - ypos: ::std::os::raw::c_int, - ) -> AVChromaLocation; -} -extern "C" { - pub fn avcodec_decode_subtitle2( - avctx: *mut AVCodecContext, - sub: *mut AVSubtitle, - got_sub_ptr: *mut ::std::os::raw::c_int, - avpkt: *const AVPacket, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn avcodec_send_packet( - avctx: *mut AVCodecContext, - avpkt: *const AVPacket, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn avcodec_receive_frame( - avctx: *mut AVCodecContext, - frame: *mut AVFrame, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn avcodec_send_frame( - avctx: *mut AVCodecContext, - frame: *const AVFrame, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn avcodec_receive_packet( - avctx: *mut AVCodecContext, - avpkt: *mut AVPacket, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn avcodec_get_hw_frames_parameters( - avctx: *mut AVCodecContext, - device_ref: *mut AVBufferRef, - hw_pix_fmt: AVPixelFormat, - out_frames_ref: *mut *mut AVBufferRef, - ) -> ::std::os::raw::c_int; -} -pub const AVPictureStructure_AV_PICTURE_STRUCTURE_UNKNOWN: AVPictureStructure = 0; -pub const AVPictureStructure_AV_PICTURE_STRUCTURE_TOP_FIELD: AVPictureStructure = 1; -pub const AVPictureStructure_AV_PICTURE_STRUCTURE_BOTTOM_FIELD: AVPictureStructure = 2; -pub const AVPictureStructure_AV_PICTURE_STRUCTURE_FRAME: AVPictureStructure = 3; -pub type AVPictureStructure = ::std::os::raw::c_uint; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct AVCodecParserContext { - pub priv_data: *mut ::std::os::raw::c_void, - pub parser: *const AVCodecParser, - pub frame_offset: i64, - pub cur_offset: i64, - pub next_frame_offset: i64, - pub pict_type: ::std::os::raw::c_int, - pub repeat_pict: ::std::os::raw::c_int, - pub pts: i64, - pub dts: i64, - pub last_pts: i64, - pub last_dts: i64, - pub fetch_timestamp: ::std::os::raw::c_int, - pub cur_frame_start_index: ::std::os::raw::c_int, - pub cur_frame_offset: [i64; 4usize], - pub cur_frame_pts: [i64; 4usize], - pub cur_frame_dts: [i64; 4usize], - pub flags: ::std::os::raw::c_int, - pub offset: i64, - pub cur_frame_end: [i64; 4usize], - pub key_frame: ::std::os::raw::c_int, - pub dts_sync_point: ::std::os::raw::c_int, - pub dts_ref_dts_delta: ::std::os::raw::c_int, - pub pts_dts_delta: ::std::os::raw::c_int, - pub cur_frame_pos: [i64; 4usize], - pub pos: i64, - pub last_pos: i64, - pub duration: ::std::os::raw::c_int, - pub field_order: AVFieldOrder, - pub picture_structure: AVPictureStructure, - pub output_picture_number: ::std::os::raw::c_int, - pub width: ::std::os::raw::c_int, - pub height: ::std::os::raw::c_int, - pub coded_width: ::std::os::raw::c_int, - pub coded_height: ::std::os::raw::c_int, - pub format: ::std::os::raw::c_int, -} -impl Default for AVCodecParserContext { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -#[repr(C)] -#[derive(Debug, Default, Copy, Clone)] -pub struct AVCodecParser { - pub codec_ids: [::std::os::raw::c_int; 7usize], - pub priv_data_size: ::std::os::raw::c_int, - pub parser_init: ::std::option::Option< - unsafe extern "C" fn(s: *mut AVCodecParserContext) -> ::std::os::raw::c_int, - >, - pub parser_parse: ::std::option::Option< - unsafe extern "C" fn( - s: *mut AVCodecParserContext, - avctx: *mut AVCodecContext, - poutbuf: *mut *const u8, - poutbuf_size: *mut ::std::os::raw::c_int, - buf: *const u8, - buf_size: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, - >, - pub parser_close: ::std::option::Option, - pub split: ::std::option::Option< - unsafe extern "C" fn( - avctx: *mut AVCodecContext, - buf: *const u8, - buf_size: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, - >, -} -extern "C" { - pub fn av_parser_iterate(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVCodecParser; -} -extern "C" { - pub fn av_parser_init(codec_id: ::std::os::raw::c_int) -> *mut AVCodecParserContext; -} -extern "C" { - pub fn av_parser_parse2( - s: *mut AVCodecParserContext, - avctx: *mut AVCodecContext, - poutbuf: *mut *mut u8, - poutbuf_size: *mut ::std::os::raw::c_int, - buf: *const u8, - buf_size: ::std::os::raw::c_int, - pts: i64, - dts: i64, - pos: i64, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_parser_close(s: *mut AVCodecParserContext); -} -extern "C" { - pub fn avcodec_encode_subtitle( - avctx: *mut AVCodecContext, - buf: *mut u8, - buf_size: ::std::os::raw::c_int, - sub: *const AVSubtitle, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn avcodec_pix_fmt_to_codec_tag(pix_fmt: AVPixelFormat) -> ::std::os::raw::c_uint; -} -extern "C" { - pub fn avcodec_find_best_pix_fmt_of_list( - pix_fmt_list: *const AVPixelFormat, - src_pix_fmt: AVPixelFormat, - has_alpha: ::std::os::raw::c_int, - loss_ptr: *mut ::std::os::raw::c_int, - ) -> AVPixelFormat; -} -extern "C" { - pub fn avcodec_default_get_format( - s: *mut AVCodecContext, - fmt: *const AVPixelFormat, - ) -> AVPixelFormat; -} -extern "C" { - pub fn avcodec_string( - buf: *mut ::std::os::raw::c_char, - buf_size: ::std::os::raw::c_int, - enc: *mut AVCodecContext, - encode: ::std::os::raw::c_int, - ); -} -extern "C" { - pub fn avcodec_default_execute( - c: *mut AVCodecContext, - func: ::std::option::Option< - unsafe extern "C" fn( - c2: *mut AVCodecContext, - arg2: *mut ::std::os::raw::c_void, - ) -> ::std::os::raw::c_int, - >, - arg: *mut ::std::os::raw::c_void, - ret: *mut ::std::os::raw::c_int, - count: ::std::os::raw::c_int, - size: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn avcodec_default_execute2( - c: *mut AVCodecContext, - func: ::std::option::Option< - unsafe extern "C" fn( - c2: *mut AVCodecContext, - arg2: *mut ::std::os::raw::c_void, - arg1: ::std::os::raw::c_int, - arg2: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, - >, - arg: *mut ::std::os::raw::c_void, - ret: *mut ::std::os::raw::c_int, - count: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn avcodec_fill_audio_frame( - frame: *mut AVFrame, - nb_channels: ::std::os::raw::c_int, - sample_fmt: AVSampleFormat, - buf: *const u8, - buf_size: ::std::os::raw::c_int, - align: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn avcodec_flush_buffers(avctx: *mut AVCodecContext); -} -extern "C" { - pub fn av_get_audio_frame_duration( - avctx: *mut AVCodecContext, - frame_bytes: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_fast_padded_malloc( - ptr: *mut ::std::os::raw::c_void, - size: *mut ::std::os::raw::c_uint, - min_size: usize, - ); -} -extern "C" { - pub fn av_fast_padded_mallocz( - ptr: *mut ::std::os::raw::c_void, - size: *mut ::std::os::raw::c_uint, - min_size: usize, - ); -} -extern "C" { - pub fn avcodec_is_open(s: *mut AVCodecContext) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_get_cpu_flags() -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_force_cpu_flags(flags: ::std::os::raw::c_int); -} -extern "C" { - pub fn av_parse_cpu_caps( - flags: *mut ::std::os::raw::c_uint, - s: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_cpu_count() -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_cpu_force_count(count: ::std::os::raw::c_int); -} -extern "C" { - pub fn av_cpu_max_align() -> usize; -} -#[repr(C)] -#[derive(Debug, Default, Copy, Clone)] -pub struct AVComponentDescriptor { - pub plane: ::std::os::raw::c_int, - pub step: ::std::os::raw::c_int, - pub offset: ::std::os::raw::c_int, - pub shift: ::std::os::raw::c_int, - pub depth: ::std::os::raw::c_int, -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct AVPixFmtDescriptor { - pub name: *const ::std::os::raw::c_char, - pub nb_components: u8, - pub log2_chroma_w: u8, - pub log2_chroma_h: u8, - pub flags: u64, - pub comp: [AVComponentDescriptor; 4usize], - pub alias: *const ::std::os::raw::c_char, -} -impl Default for AVPixFmtDescriptor { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -extern "C" { - pub fn av_get_bits_per_pixel(pixdesc: *const AVPixFmtDescriptor) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_get_padded_bits_per_pixel( - pixdesc: *const AVPixFmtDescriptor, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_pix_fmt_desc_get(pix_fmt: AVPixelFormat) -> *const AVPixFmtDescriptor; -} -extern "C" { - pub fn av_pix_fmt_desc_next(prev: *const AVPixFmtDescriptor) -> *const AVPixFmtDescriptor; -} -extern "C" { - pub fn av_pix_fmt_desc_get_id(desc: *const AVPixFmtDescriptor) -> AVPixelFormat; -} -extern "C" { - pub fn av_pix_fmt_get_chroma_sub_sample( - pix_fmt: AVPixelFormat, - h_shift: *mut ::std::os::raw::c_int, - v_shift: *mut ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_pix_fmt_count_planes(pix_fmt: AVPixelFormat) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_color_range_name(range: AVColorRange) -> *const ::std::os::raw::c_char; -} -extern "C" { - pub fn av_color_range_from_name(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_color_primaries_name(primaries: AVColorPrimaries) -> *const ::std::os::raw::c_char; -} -extern "C" { - pub fn av_color_primaries_from_name( - name: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_color_transfer_name( - transfer: AVColorTransferCharacteristic, - ) -> *const ::std::os::raw::c_char; -} -extern "C" { - pub fn av_color_transfer_from_name( - name: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_color_space_name(space: AVColorSpace) -> *const ::std::os::raw::c_char; -} -extern "C" { - pub fn av_color_space_from_name(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_chroma_location_name(location: AVChromaLocation) -> *const ::std::os::raw::c_char; -} -extern "C" { - pub fn av_chroma_location_from_name( - name: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_chroma_location_enum_to_pos( - xpos: *mut ::std::os::raw::c_int, - ypos: *mut ::std::os::raw::c_int, - pos: AVChromaLocation, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_chroma_location_pos_to_enum( - xpos: ::std::os::raw::c_int, - ypos: ::std::os::raw::c_int, - ) -> AVChromaLocation; -} -extern "C" { - pub fn av_get_pix_fmt(name: *const ::std::os::raw::c_char) -> AVPixelFormat; -} -extern "C" { - pub fn av_get_pix_fmt_name(pix_fmt: AVPixelFormat) -> *const ::std::os::raw::c_char; -} -extern "C" { - pub fn av_get_pix_fmt_string( - buf: *mut ::std::os::raw::c_char, - buf_size: ::std::os::raw::c_int, - pix_fmt: AVPixelFormat, - ) -> *mut ::std::os::raw::c_char; -} -extern "C" { - pub fn av_read_image_line2( - dst: *mut ::std::os::raw::c_void, - data: *mut *const u8, - linesize: *const ::std::os::raw::c_int, - desc: *const AVPixFmtDescriptor, - x: ::std::os::raw::c_int, - y: ::std::os::raw::c_int, - c: ::std::os::raw::c_int, - w: ::std::os::raw::c_int, - read_pal_component: ::std::os::raw::c_int, - dst_element_size: ::std::os::raw::c_int, - ); -} -extern "C" { - pub fn av_read_image_line( - dst: *mut u16, - data: *mut *const u8, - linesize: *const ::std::os::raw::c_int, - desc: *const AVPixFmtDescriptor, - x: ::std::os::raw::c_int, - y: ::std::os::raw::c_int, - c: ::std::os::raw::c_int, - w: ::std::os::raw::c_int, - read_pal_component: ::std::os::raw::c_int, - ); -} -extern "C" { - pub fn av_write_image_line2( - src: *const ::std::os::raw::c_void, - data: *mut *mut u8, - linesize: *const ::std::os::raw::c_int, - desc: *const AVPixFmtDescriptor, - x: ::std::os::raw::c_int, - y: ::std::os::raw::c_int, - c: ::std::os::raw::c_int, - w: ::std::os::raw::c_int, - src_element_size: ::std::os::raw::c_int, - ); -} -extern "C" { - pub fn av_write_image_line( - src: *const u16, - data: *mut *mut u8, - linesize: *const ::std::os::raw::c_int, - desc: *const AVPixFmtDescriptor, - x: ::std::os::raw::c_int, - y: ::std::os::raw::c_int, - c: ::std::os::raw::c_int, - w: ::std::os::raw::c_int, - ); -} -extern "C" { - pub fn av_pix_fmt_swap_endianness(pix_fmt: AVPixelFormat) -> AVPixelFormat; -} -extern "C" { - pub fn av_get_pix_fmt_loss( - dst_pix_fmt: AVPixelFormat, - src_pix_fmt: AVPixelFormat, - has_alpha: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_find_best_pix_fmt_of_2( - dst_pix_fmt1: AVPixelFormat, - dst_pix_fmt2: AVPixelFormat, - src_pix_fmt: AVPixelFormat, - has_alpha: ::std::os::raw::c_int, - loss_ptr: *mut ::std::os::raw::c_int, - ) -> AVPixelFormat; -} -extern "C" { - pub fn av_image_fill_max_pixsteps( - max_pixsteps: *mut ::std::os::raw::c_int, - max_pixstep_comps: *mut ::std::os::raw::c_int, - pixdesc: *const AVPixFmtDescriptor, - ); -} -extern "C" { - pub fn av_image_get_linesize( - pix_fmt: AVPixelFormat, - width: ::std::os::raw::c_int, - plane: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_image_fill_linesizes( - linesizes: *mut ::std::os::raw::c_int, - pix_fmt: AVPixelFormat, - width: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_image_fill_plane_sizes( - size: *mut usize, - pix_fmt: AVPixelFormat, - height: ::std::os::raw::c_int, - linesizes: *const isize, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_image_fill_pointers( - data: *mut *mut u8, - pix_fmt: AVPixelFormat, - height: ::std::os::raw::c_int, - ptr: *mut u8, - linesizes: *const ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_image_alloc( - pointers: *mut *mut u8, - linesizes: *mut ::std::os::raw::c_int, - w: ::std::os::raw::c_int, - h: ::std::os::raw::c_int, - pix_fmt: AVPixelFormat, - align: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_image_copy_plane( - dst: *mut u8, - dst_linesize: ::std::os::raw::c_int, - src: *const u8, - src_linesize: ::std::os::raw::c_int, - bytewidth: ::std::os::raw::c_int, - height: ::std::os::raw::c_int, - ); -} -extern "C" { - pub fn av_image_copy_plane_uc_from( - dst: *mut u8, - dst_linesize: isize, - src: *const u8, - src_linesize: isize, - bytewidth: isize, - height: ::std::os::raw::c_int, - ); -} -extern "C" { - pub fn av_image_copy( - dst_data: *mut *mut u8, - dst_linesizes: *mut ::std::os::raw::c_int, - src_data: *mut *const u8, - src_linesizes: *const ::std::os::raw::c_int, - pix_fmt: AVPixelFormat, - width: ::std::os::raw::c_int, - height: ::std::os::raw::c_int, - ); -} -extern "C" { - pub fn av_image_copy_uc_from( - dst_data: *mut *mut u8, - dst_linesizes: *const isize, - src_data: *mut *const u8, - src_linesizes: *const isize, - pix_fmt: AVPixelFormat, - width: ::std::os::raw::c_int, - height: ::std::os::raw::c_int, - ); -} -extern "C" { - pub fn av_image_fill_arrays( - dst_data: *mut *mut u8, - dst_linesize: *mut ::std::os::raw::c_int, - src: *const u8, - pix_fmt: AVPixelFormat, - width: ::std::os::raw::c_int, - height: ::std::os::raw::c_int, - align: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_image_get_buffer_size( - pix_fmt: AVPixelFormat, - width: ::std::os::raw::c_int, - height: ::std::os::raw::c_int, - align: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_image_copy_to_buffer( - dst: *mut u8, - dst_size: ::std::os::raw::c_int, - src_data: *const *const u8, - src_linesize: *const ::std::os::raw::c_int, - pix_fmt: AVPixelFormat, - width: ::std::os::raw::c_int, - height: ::std::os::raw::c_int, - align: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_image_check_size( - w: ::std::os::raw::c_uint, - h: ::std::os::raw::c_uint, - log_offset: ::std::os::raw::c_int, - log_ctx: *mut ::std::os::raw::c_void, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_image_check_size2( - w: ::std::os::raw::c_uint, - h: ::std::os::raw::c_uint, - max_pixels: i64, - pix_fmt: AVPixelFormat, - log_offset: ::std::os::raw::c_int, - log_ctx: *mut ::std::os::raw::c_void, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_image_check_sar( - w: ::std::os::raw::c_uint, - h: ::std::os::raw::c_uint, - sar: AVRational, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn av_image_fill_black( - dst_data: *mut *mut u8, - dst_linesize: *const isize, - pix_fmt: AVPixelFormat, - range: AVColorRange, - width: ::std::os::raw::c_int, - height: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn sws_getCoefficients(colorspace: ::std::os::raw::c_int) -> *const ::std::os::raw::c_int; -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct SwsVector { - pub coeff: *mut f64, - pub length: ::std::os::raw::c_int, -} -impl Default for SwsVector { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct SwsFilter { - pub lumH: *mut SwsVector, - pub lumV: *mut SwsVector, - pub chrH: *mut SwsVector, - pub chrV: *mut SwsVector, -} -impl Default for SwsFilter { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct SwsContext { - _unused: [u8; 0], -} -extern "C" { - pub fn sws_isSupportedInput(pix_fmt: AVPixelFormat) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn sws_isSupportedOutput(pix_fmt: AVPixelFormat) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn sws_isSupportedEndiannessConversion(pix_fmt: AVPixelFormat) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn sws_alloc_context() -> *mut SwsContext; -} -extern "C" { - pub fn sws_init_context( - sws_context: *mut SwsContext, - srcFilter: *mut SwsFilter, - dstFilter: *mut SwsFilter, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn sws_freeContext(swsContext: *mut SwsContext); -} -extern "C" { - pub fn sws_getContext( - srcW: ::std::os::raw::c_int, - srcH: ::std::os::raw::c_int, - srcFormat: AVPixelFormat, - dstW: ::std::os::raw::c_int, - dstH: ::std::os::raw::c_int, - dstFormat: AVPixelFormat, - flags: ::std::os::raw::c_int, - srcFilter: *mut SwsFilter, - dstFilter: *mut SwsFilter, - param: *const f64, - ) -> *mut SwsContext; -} -extern "C" { - pub fn sws_scale( - c: *mut SwsContext, - srcSlice: *const *const u8, - srcStride: *const ::std::os::raw::c_int, - srcSliceY: ::std::os::raw::c_int, - srcSliceH: ::std::os::raw::c_int, - dst: *const *mut u8, - dstStride: *const ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn sws_scale_frame( - c: *mut SwsContext, - dst: *mut AVFrame, - src: *const AVFrame, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn sws_frame_start( - c: *mut SwsContext, - dst: *mut AVFrame, - src: *const AVFrame, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn sws_frame_end(c: *mut SwsContext); -} -extern "C" { - pub fn sws_send_slice( - c: *mut SwsContext, - slice_start: ::std::os::raw::c_uint, - slice_height: ::std::os::raw::c_uint, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn sws_receive_slice( - c: *mut SwsContext, - slice_start: ::std::os::raw::c_uint, - slice_height: ::std::os::raw::c_uint, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn sws_receive_slice_alignment(c: *const SwsContext) -> ::std::os::raw::c_uint; -} -extern "C" { - pub fn sws_setColorspaceDetails( - c: *mut SwsContext, - inv_table: *const ::std::os::raw::c_int, - srcRange: ::std::os::raw::c_int, - table: *const ::std::os::raw::c_int, - dstRange: ::std::os::raw::c_int, - brightness: ::std::os::raw::c_int, - contrast: ::std::os::raw::c_int, - saturation: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn sws_getColorspaceDetails( - c: *mut SwsContext, - inv_table: *mut *mut ::std::os::raw::c_int, - srcRange: *mut ::std::os::raw::c_int, - table: *mut *mut ::std::os::raw::c_int, - dstRange: *mut ::std::os::raw::c_int, - brightness: *mut ::std::os::raw::c_int, - contrast: *mut ::std::os::raw::c_int, - saturation: *mut ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn sws_allocVec(length: ::std::os::raw::c_int) -> *mut SwsVector; -} -extern "C" { - pub fn sws_getGaussianVec(variance: f64, quality: f64) -> *mut SwsVector; -} -extern "C" { - pub fn sws_scaleVec(a: *mut SwsVector, scalar: f64); -} -extern "C" { - pub fn sws_normalizeVec(a: *mut SwsVector, height: f64); -} -extern "C" { - pub fn sws_freeVec(a: *mut SwsVector); -} -extern "C" { - pub fn sws_getDefaultFilter( - lumaGBlur: f32, - chromaGBlur: f32, - lumaSharpen: f32, - chromaSharpen: f32, - chromaHShift: f32, - chromaVShift: f32, - verbose: ::std::os::raw::c_int, - ) -> *mut SwsFilter; -} -extern "C" { - pub fn sws_freeFilter(filter: *mut SwsFilter); -} -extern "C" { - pub fn sws_getCachedContext( - context: *mut SwsContext, - srcW: ::std::os::raw::c_int, - srcH: ::std::os::raw::c_int, - srcFormat: AVPixelFormat, - dstW: ::std::os::raw::c_int, - dstH: ::std::os::raw::c_int, - dstFormat: AVPixelFormat, - flags: ::std::os::raw::c_int, - srcFilter: *mut SwsFilter, - dstFilter: *mut SwsFilter, - param: *const f64, - ) -> *mut SwsContext; -} -extern "C" { - pub fn sws_convertPalette8ToPacked32( - src: *const u8, - dst: *mut u8, - num_pixels: ::std::os::raw::c_int, - palette: *const u8, - ); -} -extern "C" { - pub fn sws_convertPalette8ToPacked24( - src: *const u8, - dst: *mut u8, - num_pixels: ::std::os::raw::c_int, - palette: *const u8, - ); -} -extern "C" { - pub fn sws_get_class() -> *const AVClass; -} -pub type __builtin_va_list = [__va_list_tag; 1usize]; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __va_list_tag { - pub gp_offset: ::std::os::raw::c_uint, - pub fp_offset: ::std::os::raw::c_uint, - pub overflow_arg_area: *mut ::std::os::raw::c_void, - pub reg_save_area: *mut ::std::os::raw::c_void, -} -impl Default for __va_list_tag { - fn default() -> Self { - let mut s = ::std::mem::MaybeUninit::::uninit(); - unsafe { - ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); - s.assume_init() - } - } -} -#[repr(C)] -#[derive(Debug, Default, Copy, Clone)] -pub struct AVOption { - pub _address: u8, -} diff --git a/media/ffmpeg/src/lib.rs b/media/ffmpeg/src/lib.rs index 7ea9856524..4325e9b807 100644 --- a/media/ffmpeg/src/lib.rs +++ b/media/ffmpeg/src/lib.rs @@ -9,8 +9,15 @@ mod avutil; pub use avutil::*; mod error; pub use error::*; -mod ffmpeg; -use crate::ffmpeg as ffi; +mod ffi { + #![allow(clippy::missing_safety_doc)] + #![allow(clippy::upper_case_acronyms)] + #![allow(non_upper_case_globals)] + #![allow(non_camel_case_types)] + #![allow(non_snake_case)] + #![allow(dead_code)] + include!(concat!(env!("OUT_DIR"), "/bindings.rs")); +} pub mod swscale; pub use ffi::AVPictureType_AV_PICTURE_TYPE_I; diff --git a/tools/bindgen-all-the-things b/tools/bindgen-all-the-things index 6d499ed2cf..d4fd8a6317 100755 --- a/tools/bindgen-all-the-things +++ b/tools/bindgen-all-the-things @@ -22,7 +22,6 @@ dirs=( io_uring kernel_loader kvm_sys - media/ffmpeg media/libvda net_sys vfio_sys