1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
#![allow(non_camel_case_types)] #![allow(clippy::missing_safety_doc)] #![allow(clippy::module_inception)] #![allow(clippy::too_many_arguments)] #[macro_use] extern crate bitflags; pub extern crate ffmpeg_sys_next as sys; #[cfg(feature = "image")] extern crate image; extern crate libc; pub use sys as ffi; #[macro_use] pub mod util; pub use util::channel_layout::{self, ChannelLayout}; pub use util::chroma; pub use util::color; pub use util::dictionary; pub use util::dictionary::Mut as DictionaryMut; pub use util::dictionary::Owned as Dictionary; pub use util::dictionary::Ref as DictionaryRef; pub use util::error::{self, Error}; pub use util::frame::{self, Frame}; pub use util::log; pub use util::mathematics::{self, rescale, Rescale, Rounding}; pub use util::media; pub use util::option; pub use util::picture; pub use util::rational::{self, Rational}; pub use util::time; #[cfg(feature = "format")] pub mod format; #[cfg(feature = "format")] pub use format::chapter::{Chapter, ChapterMut}; #[cfg(feature = "format")] pub use format::format::Format; #[cfg(feature = "format")] pub use format::stream::{Stream, StreamMut}; #[cfg(feature = "codec")] pub mod codec; #[cfg(feature = "codec")] pub use codec::audio_service::AudioService; #[cfg(feature = "codec")] pub use codec::codec::Codec; #[cfg(feature = "codec")] pub use codec::discard::Discard; #[cfg(feature = "codec")] pub use codec::field_order::FieldOrder; #[cfg(feature = "codec")] pub use codec::packet::{self, Packet}; #[cfg(feature = "codec")] pub use codec::picture::Picture; #[cfg(feature = "codec")] pub use codec::subtitle::{self, Subtitle}; #[cfg(feature = "codec")] pub use codec::threading; #[cfg(feature = "codec")] pub use codec::{decoder, encoder}; #[cfg(feature = "device")] pub mod device; #[cfg(feature = "filter")] pub mod filter; #[cfg(feature = "filter")] pub use filter::Filter; pub mod software; fn init_error() { util::error::register_all(); } #[cfg(feature = "format")] fn init_format() { format::register_all(); } #[cfg(not(feature = "format"))] fn init_format() {} #[cfg(feature = "device")] fn init_device() { device::register_all(); } #[cfg(not(feature = "device"))] fn init_device() {} #[cfg(feature = "filter")] fn init_filter() { filter::register_all(); } #[cfg(not(feature = "filter"))] fn init_filter() {} #[cfg_attr( any(feature = "ffmpeg4", feature = "ffmpeg41", feature = "ffmpeg42"), deprecated( note = "features ffmpeg4/ffmpeg41/ffmpeg42/ffmpeg43 are now auto-detected \ and will be removed in a future version" ) )] pub fn init() -> Result<(), Error> { init_error(); init_format(); init_device(); init_filter(); Ok(()) }