ffmpeg/
lib.rs

1// Copyright 2022 The ChromiumOS Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#![cfg(any(target_os = "android", target_os = "linux"))]
6
7pub mod avcodec;
8mod avutil;
9pub use avutil::*;
10mod error;
11pub use error::*;
12mod ffi {
13    #![allow(clippy::missing_safety_doc)]
14    #![allow(clippy::undocumented_unsafe_blocks)]
15    #![allow(clippy::upper_case_acronyms)]
16    #![allow(non_upper_case_globals)]
17    #![allow(non_camel_case_types)]
18    #![allow(non_snake_case)]
19    #![allow(dead_code)]
20    include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
21
22    /// SAFETY: `AVCodec` instances are all static and thus safe to share.
23    unsafe impl Sync for AVCodec {}
24}
25pub mod swscale;
26
27pub use ffi::AVPictureType_AV_PICTURE_TYPE_I;
28pub use ffi::AVPixelFormat_AV_PIX_FMT_NV12;
29pub use ffi::AVPixelFormat_AV_PIX_FMT_YUV420P;
30pub use ffi::AVRational;
31pub use ffi::AV_CODEC_CAP_DR1;
32pub use ffi::AV_PKT_FLAG_KEY;
33pub use ffi::FF_PROFILE_H264_BASELINE;
34pub use ffi::FF_PROFILE_H264_EXTENDED;
35pub use ffi::FF_PROFILE_H264_HIGH;
36pub use ffi::FF_PROFILE_H264_HIGH_10;
37pub use ffi::FF_PROFILE_H264_HIGH_422;
38pub use ffi::FF_PROFILE_H264_HIGH_444_PREDICTIVE;
39pub use ffi::FF_PROFILE_H264_MAIN;
40pub use ffi::FF_PROFILE_H264_MULTIVIEW_HIGH;
41pub use ffi::FF_PROFILE_H264_STEREO_HIGH;
42pub use ffi::FF_PROFILE_HEVC_MAIN;
43pub use ffi::FF_PROFILE_HEVC_MAIN_10;
44pub use ffi::FF_PROFILE_HEVC_MAIN_STILL_PICTURE;
45pub use ffi::FF_PROFILE_VP9_0;
46pub use ffi::FF_PROFILE_VP9_1;
47pub use ffi::FF_PROFILE_VP9_2;
48pub use ffi::FF_PROFILE_VP9_3;