mirror of
https://github.com/encounter/rust-ffmpeg.git
synced 2026-07-10 21:18:39 -07:00
*: update bindgen
This commit is contained in:
committed by
Till Höppner
parent
0cbe598082
commit
55e7fa0aa8
+3
-3
@@ -15,10 +15,10 @@ keywords = ["audio", "video"]
|
||||
libc = "0.2"
|
||||
|
||||
[build-dependencies]
|
||||
num_cpus = "1"
|
||||
cc = "1"
|
||||
num_cpus = "1.0"
|
||||
cc = "1.0"
|
||||
pkg-config = "0.3"
|
||||
bindgen = "0.30"
|
||||
bindgen = "0.31"
|
||||
regex = "0.2"
|
||||
|
||||
[features]
|
||||
|
||||
+81
-88
@@ -313,11 +313,13 @@ fn check_features(
|
||||
{
|
||||
for version_major in begin_version_major..end_version_major {
|
||||
for version_minor in begin_version_minor..end_version_minor {
|
||||
main_code.push_str(&format!(r#"printf("[{lib}_version_greater_than_{version_major}_{version_minor}]%d\n", LIB{lib_uppercase}_VERSION_MAJOR > {version_major} || (LIB{lib_uppercase}_VERSION_MAJOR == {version_major} && LIB{lib_uppercase}_VERSION_MINOR > {version_minor}));"#,
|
||||
lib=lib,
|
||||
lib_uppercase=lib.to_uppercase(),
|
||||
version_major=version_major,
|
||||
version_minor=version_minor));
|
||||
main_code.push_str(&format!(
|
||||
r#"printf("[{lib}_version_greater_than_{version_major}_{version_minor}]%d\n", LIB{lib_uppercase}_VERSION_MAJOR > {version_major} || (LIB{lib_uppercase}_VERSION_MAJOR == {version_major} && LIB{lib_uppercase}_VERSION_MINOR > {version_minor}));"#,
|
||||
lib = lib,
|
||||
lib_uppercase = lib.to_uppercase(),
|
||||
version_major = version_major,
|
||||
version_minor = version_minor
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -439,11 +441,7 @@ fn main() {
|
||||
search().join("lib").to_string_lossy()
|
||||
);
|
||||
|
||||
let ffmpeg_ty = if statik {
|
||||
"static"
|
||||
} else {
|
||||
"dylib"
|
||||
};
|
||||
let ffmpeg_ty = if statik { "static" } else { "dylib" };
|
||||
|
||||
// Make sure to link with the ffmpeg libs we built
|
||||
println!("cargo:rustc-link-lib={}=avutil", ffmpeg_ty);
|
||||
@@ -901,15 +899,15 @@ fn main() {
|
||||
let mut builder = bindgen::Builder::default()
|
||||
.clang_args(clang_includes)
|
||||
.ctypes_prefix("libc")
|
||||
.hide_type("AV_CH_LAYOUT_NATIVE")
|
||||
// https://github.com/servo/rust-bindgen/issues/687
|
||||
.hide_type("FP_NAN")
|
||||
.hide_type("FP_INFINITE")
|
||||
.hide_type("FP_ZERO")
|
||||
.hide_type("FP_SUBNORMAL")
|
||||
.hide_type("FP_NORMAL")
|
||||
.blacklist_type("FP_NAN")
|
||||
.blacklist_type("FP_INFINITE")
|
||||
.blacklist_type("FP_ZERO")
|
||||
.blacklist_type("FP_SUBNORMAL")
|
||||
.blacklist_type("FP_NORMAL")
|
||||
// https://github.com/servo/rust-bindgen/issues/550
|
||||
.hide_type("max_align_t")
|
||||
.blacklist_type("max_align_t")
|
||||
.rustified_enum("*")
|
||||
.prepend_enum_name(false)
|
||||
.derive_eq(true)
|
||||
.parse_callbacks(Box::new(IntCallbacks));
|
||||
@@ -918,102 +916,97 @@ fn main() {
|
||||
// bindings for.
|
||||
if env::var("CARGO_FEATURE_AVCODEC").is_ok() {
|
||||
builder = builder
|
||||
.header(search_include(&include_paths, "libavcodec/avcodec.h"))
|
||||
.header(search_include(&include_paths, "libavcodec/dv_profile.h"))
|
||||
.header(search_include(&include_paths, "libavcodec/avfft.h"))
|
||||
.header(search_include(&include_paths, "libavcodec/vaapi.h"))
|
||||
.header(search_include(&include_paths, "libavcodec/vorbis_parser.h"));
|
||||
.header(search_include(&include_paths, "libavcodec/avcodec.h"))
|
||||
.header(search_include(&include_paths, "libavcodec/dv_profile.h"))
|
||||
.header(search_include(&include_paths, "libavcodec/avfft.h"))
|
||||
.header(search_include(&include_paths, "libavcodec/vaapi.h"))
|
||||
.header(search_include(&include_paths, "libavcodec/vorbis_parser.h"));
|
||||
}
|
||||
|
||||
if env::var("CARGO_FEATURE_AVDEVICE").is_ok() {
|
||||
builder = builder
|
||||
.header(search_include(&include_paths, "libavdevice/avdevice.h"));
|
||||
builder = builder.header(search_include(&include_paths, "libavdevice/avdevice.h"));
|
||||
}
|
||||
|
||||
if env::var("CARGO_FEATURE_AVFILTER").is_ok() {
|
||||
builder = builder
|
||||
.header(search_include(&include_paths, "libavfilter/buffersink.h"))
|
||||
.header(search_include(&include_paths, "libavfilter/buffersrc.h"))
|
||||
.header(search_include(&include_paths, "libavfilter/avfilter.h"));
|
||||
.header(search_include(&include_paths, "libavfilter/buffersink.h"))
|
||||
.header(search_include(&include_paths, "libavfilter/buffersrc.h"))
|
||||
.header(search_include(&include_paths, "libavfilter/avfilter.h"));
|
||||
}
|
||||
|
||||
if env::var("CARGO_FEATURE_AVFORMAT").is_ok() {
|
||||
builder = builder
|
||||
.header(search_include(&include_paths, "libavformat/avformat.h"))
|
||||
.header(search_include(&include_paths, "libavformat/avio.h"));
|
||||
.header(search_include(&include_paths, "libavformat/avformat.h"))
|
||||
.header(search_include(&include_paths, "libavformat/avio.h"));
|
||||
}
|
||||
|
||||
if env::var("CARGO_FEATURE_AVRESAMPLE").is_ok() {
|
||||
builder = builder
|
||||
.header(search_include(&include_paths, "libavresample/avresample.h"));
|
||||
builder = builder.header(search_include(&include_paths, "libavresample/avresample.h"));
|
||||
}
|
||||
|
||||
builder = builder
|
||||
.header(search_include(&include_paths, "libavutil/adler32.h"))
|
||||
.header(search_include(&include_paths, "libavutil/aes.h"))
|
||||
.header(search_include(&include_paths, "libavutil/audio_fifo.h"))
|
||||
.header(search_include(&include_paths, "libavutil/base64.h"))
|
||||
.header(search_include(&include_paths, "libavutil/blowfish.h"))
|
||||
.header(search_include(&include_paths, "libavutil/bprint.h"))
|
||||
.header(search_include(&include_paths, "libavutil/buffer.h"))
|
||||
.header(search_include(&include_paths, "libavutil/camellia.h"))
|
||||
.header(search_include(&include_paths, "libavutil/cast5.h"))
|
||||
.header(search_include(&include_paths, "libavutil/channel_layout.h"))
|
||||
.header(search_include(&include_paths, "libavutil/cpu.h"))
|
||||
.header(search_include(&include_paths, "libavutil/crc.h"))
|
||||
.header(search_include(&include_paths, "libavutil/dict.h"))
|
||||
.header(search_include(&include_paths, "libavutil/display.h"))
|
||||
.header(search_include(&include_paths, "libavutil/downmix_info.h"))
|
||||
.header(search_include(&include_paths, "libavutil/error.h"))
|
||||
.header(search_include(&include_paths, "libavutil/eval.h"))
|
||||
.header(search_include(&include_paths, "libavutil/fifo.h"))
|
||||
.header(search_include(&include_paths, "libavutil/file.h"))
|
||||
.header(search_include(&include_paths, "libavutil/frame.h"))
|
||||
.header(search_include(&include_paths, "libavutil/hash.h"))
|
||||
.header(search_include(&include_paths, "libavutil/hmac.h"))
|
||||
.header(search_include(&include_paths, "libavutil/imgutils.h"))
|
||||
.header(search_include(&include_paths, "libavutil/lfg.h"))
|
||||
.header(search_include(&include_paths, "libavutil/log.h"))
|
||||
.header(search_include(&include_paths, "libavutil/lzo.h"))
|
||||
.header(search_include(&include_paths, "libavutil/macros.h"))
|
||||
.header(search_include(&include_paths, "libavutil/mathematics.h"))
|
||||
.header(search_include(&include_paths, "libavutil/md5.h"))
|
||||
.header(search_include(&include_paths, "libavutil/mem.h"))
|
||||
.header(search_include(&include_paths, "libavutil/motion_vector.h"))
|
||||
.header(search_include(&include_paths, "libavutil/murmur3.h"))
|
||||
.header(search_include(&include_paths, "libavutil/opt.h"))
|
||||
.header(search_include(&include_paths, "libavutil/parseutils.h"))
|
||||
.header(search_include(&include_paths, "libavutil/pixdesc.h"))
|
||||
.header(search_include(&include_paths, "libavutil/pixfmt.h"))
|
||||
.header(search_include(&include_paths, "libavutil/random_seed.h"))
|
||||
.header(search_include(&include_paths, "libavutil/rational.h"))
|
||||
.header(search_include(&include_paths, "libavutil/replaygain.h"))
|
||||
.header(search_include(&include_paths, "libavutil/ripemd.h"))
|
||||
.header(search_include(&include_paths, "libavutil/samplefmt.h"))
|
||||
.header(search_include(&include_paths, "libavutil/sha.h"))
|
||||
.header(search_include(&include_paths, "libavutil/sha512.h"))
|
||||
.header(search_include(&include_paths, "libavutil/stereo3d.h"))
|
||||
.header(search_include(&include_paths, "libavutil/avstring.h"))
|
||||
.header(search_include(&include_paths, "libavutil/threadmessage.h"))
|
||||
.header(search_include(&include_paths, "libavutil/time.h"))
|
||||
.header(search_include(&include_paths, "libavutil/timecode.h"))
|
||||
.header(search_include(&include_paths, "libavutil/twofish.h"))
|
||||
.header(search_include(&include_paths, "libavutil/avutil.h"))
|
||||
.header(search_include(&include_paths, "libavutil/xtea.h"));
|
||||
.header(search_include(&include_paths, "libavutil/adler32.h"))
|
||||
.header(search_include(&include_paths, "libavutil/aes.h"))
|
||||
.header(search_include(&include_paths, "libavutil/audio_fifo.h"))
|
||||
.header(search_include(&include_paths, "libavutil/base64.h"))
|
||||
.header(search_include(&include_paths, "libavutil/blowfish.h"))
|
||||
.header(search_include(&include_paths, "libavutil/bprint.h"))
|
||||
.header(search_include(&include_paths, "libavutil/buffer.h"))
|
||||
.header(search_include(&include_paths, "libavutil/camellia.h"))
|
||||
.header(search_include(&include_paths, "libavutil/cast5.h"))
|
||||
.header(search_include(&include_paths, "libavutil/channel_layout.h"))
|
||||
.header(search_include(&include_paths, "libavutil/cpu.h"))
|
||||
.header(search_include(&include_paths, "libavutil/crc.h"))
|
||||
.header(search_include(&include_paths, "libavutil/dict.h"))
|
||||
.header(search_include(&include_paths, "libavutil/display.h"))
|
||||
.header(search_include(&include_paths, "libavutil/downmix_info.h"))
|
||||
.header(search_include(&include_paths, "libavutil/error.h"))
|
||||
.header(search_include(&include_paths, "libavutil/eval.h"))
|
||||
.header(search_include(&include_paths, "libavutil/fifo.h"))
|
||||
.header(search_include(&include_paths, "libavutil/file.h"))
|
||||
.header(search_include(&include_paths, "libavutil/frame.h"))
|
||||
.header(search_include(&include_paths, "libavutil/hash.h"))
|
||||
.header(search_include(&include_paths, "libavutil/hmac.h"))
|
||||
.header(search_include(&include_paths, "libavutil/imgutils.h"))
|
||||
.header(search_include(&include_paths, "libavutil/lfg.h"))
|
||||
.header(search_include(&include_paths, "libavutil/log.h"))
|
||||
.header(search_include(&include_paths, "libavutil/lzo.h"))
|
||||
.header(search_include(&include_paths, "libavutil/macros.h"))
|
||||
.header(search_include(&include_paths, "libavutil/mathematics.h"))
|
||||
.header(search_include(&include_paths, "libavutil/md5.h"))
|
||||
.header(search_include(&include_paths, "libavutil/mem.h"))
|
||||
.header(search_include(&include_paths, "libavutil/motion_vector.h"))
|
||||
.header(search_include(&include_paths, "libavutil/murmur3.h"))
|
||||
.header(search_include(&include_paths, "libavutil/opt.h"))
|
||||
.header(search_include(&include_paths, "libavutil/parseutils.h"))
|
||||
.header(search_include(&include_paths, "libavutil/pixdesc.h"))
|
||||
.header(search_include(&include_paths, "libavutil/pixfmt.h"))
|
||||
.header(search_include(&include_paths, "libavutil/random_seed.h"))
|
||||
.header(search_include(&include_paths, "libavutil/rational.h"))
|
||||
.header(search_include(&include_paths, "libavutil/replaygain.h"))
|
||||
.header(search_include(&include_paths, "libavutil/ripemd.h"))
|
||||
.header(search_include(&include_paths, "libavutil/samplefmt.h"))
|
||||
.header(search_include(&include_paths, "libavutil/sha.h"))
|
||||
.header(search_include(&include_paths, "libavutil/sha512.h"))
|
||||
.header(search_include(&include_paths, "libavutil/stereo3d.h"))
|
||||
.header(search_include(&include_paths, "libavutil/avstring.h"))
|
||||
.header(search_include(&include_paths, "libavutil/threadmessage.h"))
|
||||
.header(search_include(&include_paths, "libavutil/time.h"))
|
||||
.header(search_include(&include_paths, "libavutil/timecode.h"))
|
||||
.header(search_include(&include_paths, "libavutil/twofish.h"))
|
||||
.header(search_include(&include_paths, "libavutil/avutil.h"))
|
||||
.header(search_include(&include_paths, "libavutil/xtea.h"));
|
||||
|
||||
if env::var("CARGO_FEATURE_POSTPROC").is_ok() {
|
||||
builder = builder
|
||||
.header(search_include(&include_paths, "libpostproc/postprocess.h"));
|
||||
builder = builder.header(search_include(&include_paths, "libpostproc/postprocess.h"));
|
||||
}
|
||||
|
||||
if env::var("CARGO_FEATURE_SWRESAMPLE").is_ok() {
|
||||
builder = builder
|
||||
.header(search_include(&include_paths, "libswresample/swresample.h"));
|
||||
builder = builder.header(search_include(&include_paths, "libswresample/swresample.h"));
|
||||
}
|
||||
|
||||
if env::var("CARGO_FEATURE_SWSCALE").is_ok() {
|
||||
builder = builder
|
||||
.header(search_include(&include_paths, "libswscale/swscale.h"));
|
||||
builder = builder.header(search_include(&include_paths, "libswscale/swscale.h"));
|
||||
}
|
||||
|
||||
// Finish the builder and generate the bindings.
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
use libc::c_ulonglong;
|
||||
|
||||
pub const AV_CH_LAYOUT_NATIVE: c_ulonglong = 0x8000000000000000;
|
||||
@@ -10,8 +10,5 @@ pub use self::util::*;
|
||||
mod rational;
|
||||
pub use self::rational::*;
|
||||
|
||||
mod channel_layout;
|
||||
pub use self::channel_layout::*;
|
||||
|
||||
mod pixfmt;
|
||||
pub use self::pixfmt::*;
|
||||
|
||||
@@ -8,7 +8,7 @@ pub unsafe fn av_make_q(num: c_int, den: c_int) -> AVRational {
|
||||
|
||||
#[inline(always)]
|
||||
pub unsafe fn av_cmp_q(a: AVRational, b: AVRational) -> c_int {
|
||||
let tmp: int64_t = i64::from(a.num) * i64::from(b.den) -i64::from(b.num) * i64::from(a.den);
|
||||
let tmp: int64_t = i64::from(a.num) * i64::from(b.den) - i64::from(b.num) * i64::from(a.den);
|
||||
|
||||
if tmp != 0 {
|
||||
(((tmp ^ i64::from(a.den) ^ i64::from(b.den)) >> 63) | 1) as c_int
|
||||
|
||||
Reference in New Issue
Block a user