*: use latest ffmpeg-sys using bindgen

* Update bindings to newest ffmpeg version for new ffmpeg-sys, which is mostly generated by bindgen
* Bring back removed feature flags
* Fix whitespace formating
* Remove prepended enum names to enum variants
* Remove unneeded allows
This commit is contained in:
Tadas Barzdžius
2017-07-08 18:00:27 +03:00
committed by meh
parent 8cf47c7ec6
commit 5ac0527bdc
41 changed files with 208 additions and 99 deletions

View File

@ -4,6 +4,7 @@ use std::fmt;
use std::str::{FromStr, from_utf8_unchecked};
use ffi::*;
use ffi::AVPixelFormat::*;
#[derive(Eq, PartialEq, Copy, Clone, Debug)]
pub enum Pixel {
@ -122,9 +123,6 @@ pub enum Pixel {
GBRP16BE,
GBRP16LE,
YUVA422P_LIBAV,
YUVA444P_LIBAV,
YUVA420P9BE,
YUVA420P9LE,
YUVA422P9BE,
@ -152,10 +150,10 @@ pub enum Pixel {
NV20LE,
NV20BE,
RGBA64BE_LIBAV,
RGBA64LE_LIBAV,
BGRA64BE_LIBAV,
BGRA64LE_LIBAV,
RGBA64BE,
RGBA64LE,
BGRA64BE,
BGRA64LE,
YVYU422,
@ -164,9 +162,6 @@ pub enum Pixel {
YA16BE,
YA16LE,
GBRAP_LIBAV,
GBRAP16BE_LIBAV,
GBRAP16LE_LIBAV,
QSV,
MMAL,
@ -292,6 +287,20 @@ pub enum Pixel {
XYZ12,
NV20,
AYUV64,
P010LE,
P010BE,
GBRAP12BE,
GBRAP12LE,
GBRAP10LE,
GBRAP10BE,
MEDIACODEC,
GRAY12BE,
GRAY12LE,
GRAY10BE,
GRAY10LE,
P016LE,
P016BE,
}
#[derive(Clone, Copy, PartialEq, Eq)]
@ -418,9 +427,6 @@ impl From<AVPixelFormat> for Pixel {
#[cfg(feature = "ff_api_vaapi")]
AV_PIX_FMT_VAAPI_VLD => Pixel::VAAPI_VLD,
#[cfg(not(feature = "ff_api_vaapi"))]
AV_PIX_FMT_VAAPI => Pixel::VAAPI,
AV_PIX_FMT_YUV420P16LE => Pixel::YUV420P16LE,
AV_PIX_FMT_YUV420P16BE => Pixel::YUV420P16BE,
AV_PIX_FMT_YUV422P16LE => Pixel::YUV422P16LE,
@ -462,9 +468,6 @@ impl From<AVPixelFormat> for Pixel {
AV_PIX_FMT_GBRP16BE => Pixel::GBRP16BE,
AV_PIX_FMT_GBRP16LE => Pixel::GBRP16LE,
AV_PIX_FMT_YUVA422P_LIBAV => Pixel::YUVA422P_LIBAV,
AV_PIX_FMT_YUVA444P_LIBAV => Pixel::YUVA444P_LIBAV,
AV_PIX_FMT_YUVA420P9BE => Pixel::YUVA420P9BE,
AV_PIX_FMT_YUVA420P9LE => Pixel::YUVA420P9LE,
AV_PIX_FMT_YUVA422P9BE => Pixel::YUVA422P9BE,
@ -492,10 +495,10 @@ impl From<AVPixelFormat> for Pixel {
AV_PIX_FMT_NV20LE => Pixel::NV20LE,
AV_PIX_FMT_NV20BE => Pixel::NV20BE,
AV_PIX_FMT_RGBA64BE_LIBAV => Pixel::RGBA64BE_LIBAV,
AV_PIX_FMT_RGBA64LE_LIBAV => Pixel::RGBA64LE_LIBAV,
AV_PIX_FMT_BGRA64BE_LIBAV => Pixel::BGRA64BE_LIBAV,
AV_PIX_FMT_BGRA64LE_LIBAV => Pixel::BGRA64LE_LIBAV,
AV_PIX_FMT_RGBA64BE => Pixel::RGBA64BE,
AV_PIX_FMT_RGBA64LE => Pixel::RGBA64LE,
AV_PIX_FMT_BGRA64BE => Pixel::BGRA64BE,
AV_PIX_FMT_BGRA64LE => Pixel::BGRA64LE,
AV_PIX_FMT_YVYU422 => Pixel::YVYU422,
@ -504,9 +507,6 @@ impl From<AVPixelFormat> for Pixel {
AV_PIX_FMT_YA16BE => Pixel::YA16BE,
AV_PIX_FMT_YA16LE => Pixel::YA16LE,
AV_PIX_FMT_GBRAP_LIBAV => Pixel::GBRAP_LIBAV,
AV_PIX_FMT_GBRAP16BE_LIBAV => Pixel::GBRAP16BE_LIBAV,
AV_PIX_FMT_GBRAP16LE_LIBAV => Pixel::GBRAP16LE_LIBAV,
AV_PIX_FMT_QSV => Pixel::QSV,
AV_PIX_FMT_MMAL => Pixel::MMAL,
@ -564,7 +564,21 @@ impl From<AVPixelFormat> for Pixel {
AV_PIX_FMT_VIDEOTOOLBOX => Pixel::VIDEOTOOLBOX,
AV_PIX_FMT_NB => Pixel::None
AV_PIX_FMT_P010LE => Pixel::P010LE,
AV_PIX_FMT_P010BE => Pixel::P010BE,
AV_PIX_FMT_GBRAP12BE => Pixel::GBRAP12BE,
AV_PIX_FMT_GBRAP12LE => Pixel::GBRAP12LE,
AV_PIX_FMT_GBRAP10LE => Pixel::GBRAP10LE,
AV_PIX_FMT_GBRAP10BE => Pixel::GBRAP10BE,
AV_PIX_FMT_MEDIACODEC => Pixel::MEDIACODEC,
AV_PIX_FMT_GRAY12BE => Pixel::GRAY12BE,
AV_PIX_FMT_GRAY12LE => Pixel::GRAY12LE,
AV_PIX_FMT_GRAY10BE => Pixel::GRAY10BE,
AV_PIX_FMT_GRAY10LE => Pixel::GRAY10LE,
AV_PIX_FMT_P016LE => Pixel::P016LE,
AV_PIX_FMT_P016BE => Pixel::P016BE,
AV_PIX_FMT_NB => Pixel::None,
}
}
}
@ -688,9 +702,6 @@ impl Into<AVPixelFormat> for Pixel {
Pixel::GBRP16BE => AV_PIX_FMT_GBRP16BE,
Pixel::GBRP16LE => AV_PIX_FMT_GBRP16LE,
Pixel::YUVA422P_LIBAV => AV_PIX_FMT_YUVA422P_LIBAV,
Pixel::YUVA444P_LIBAV => AV_PIX_FMT_YUVA444P_LIBAV,
Pixel::YUVA420P9BE => AV_PIX_FMT_YUVA420P9BE,
Pixel::YUVA420P9LE => AV_PIX_FMT_YUVA420P9LE,
Pixel::YUVA422P9BE => AV_PIX_FMT_YUVA422P9BE,
@ -718,10 +729,10 @@ impl Into<AVPixelFormat> for Pixel {
Pixel::NV20LE => AV_PIX_FMT_NV20LE,
Pixel::NV20BE => AV_PIX_FMT_NV20BE,
Pixel::RGBA64BE_LIBAV => AV_PIX_FMT_RGBA64BE_LIBAV,
Pixel::RGBA64LE_LIBAV => AV_PIX_FMT_RGBA64LE_LIBAV,
Pixel::BGRA64BE_LIBAV => AV_PIX_FMT_BGRA64BE_LIBAV,
Pixel::BGRA64LE_LIBAV => AV_PIX_FMT_BGRA64LE_LIBAV,
Pixel::RGBA64BE => AV_PIX_FMT_RGBA64BE,
Pixel::RGBA64LE => AV_PIX_FMT_RGBA64LE,
Pixel::BGRA64BE => AV_PIX_FMT_BGRA64BE,
Pixel::BGRA64LE => AV_PIX_FMT_BGRA64LE,
Pixel::YVYU422 => AV_PIX_FMT_YVYU422,
@ -730,9 +741,6 @@ impl Into<AVPixelFormat> for Pixel {
Pixel::YA16BE => AV_PIX_FMT_YA16BE,
Pixel::YA16LE => AV_PIX_FMT_YA16LE,
Pixel::GBRAP_LIBAV => AV_PIX_FMT_GBRAP_LIBAV,
Pixel::GBRAP16BE_LIBAV => AV_PIX_FMT_GBRAP16BE_LIBAV,
Pixel::GBRAP16LE_LIBAV => AV_PIX_FMT_GBRAP16LE_LIBAV,
Pixel::QSV => AV_PIX_FMT_QSV,
Pixel::MMAL => AV_PIX_FMT_MMAL,
@ -791,7 +799,6 @@ impl Into<AVPixelFormat> for Pixel {
Pixel::VIDEOTOOLBOX => AV_PIX_FMT_VIDEOTOOLBOX,
// --- defaults
#[cfg(feature = "ff_api_xvmc")]
Pixel::XVMC => AV_PIX_FMT_XVMC,
Pixel::Y400A => AV_PIX_FMT_Y400A,
Pixel::GRAY8A => AV_PIX_FMT_GRAY8A,
@ -858,6 +865,20 @@ impl Into<AVPixelFormat> for Pixel {
Pixel::XYZ12 => AV_PIX_FMT_XYZ12,
Pixel::NV20 => AV_PIX_FMT_NV20,
Pixel::AYUV64 => AV_PIX_FMT_AYUV64,
Pixel::P010LE => AV_PIX_FMT_P010LE,
Pixel::P010BE => AV_PIX_FMT_P010BE,
Pixel::GBRAP12BE => AV_PIX_FMT_GBRAP12BE,
Pixel::GBRAP12LE => AV_PIX_FMT_GBRAP12LE,
Pixel::GBRAP10LE => AV_PIX_FMT_GBRAP10LE,
Pixel::GBRAP10BE => AV_PIX_FMT_GBRAP10BE,
Pixel::MEDIACODEC => AV_PIX_FMT_MEDIACODEC,
Pixel::GRAY12BE => AV_PIX_FMT_GRAY12BE,
Pixel::GRAY12LE => AV_PIX_FMT_GRAY12LE,
Pixel::GRAY10BE => AV_PIX_FMT_GRAY10BE,
Pixel::GRAY10LE => AV_PIX_FMT_GRAY10LE,
Pixel::P016LE => AV_PIX_FMT_P016LE,
Pixel::P016BE => AV_PIX_FMT_P016BE,
}
}
}

View File

@ -7,6 +7,7 @@ use std::mem;
use libc::{c_int, uint8_t};
use ffi::*;
use ffi::AVSampleFormat::*;
#[derive(Eq, PartialEq, Copy, Clone, Debug)]
pub enum Sample {
@ -15,6 +16,7 @@ pub enum Sample {
U8(Type),
I16(Type),
I32(Type),
I64(Type),
F32(Type),
F64(Type),
}
@ -81,12 +83,14 @@ impl From<AVSampleFormat> for Sample {
AV_SAMPLE_FMT_U8 => Sample::U8(Type::Packed),
AV_SAMPLE_FMT_S16 => Sample::I16(Type::Packed),
AV_SAMPLE_FMT_S32 => Sample::I32(Type::Packed),
AV_SAMPLE_FMT_S64 => Sample::I64(Type::Packed),
AV_SAMPLE_FMT_FLT => Sample::F32(Type::Packed),
AV_SAMPLE_FMT_DBL => Sample::F64(Type::Packed),
AV_SAMPLE_FMT_U8P => Sample::U8(Type::Planar),
AV_SAMPLE_FMT_S16P => Sample::I16(Type::Planar),
AV_SAMPLE_FMT_S32P => Sample::I32(Type::Planar),
AV_SAMPLE_FMT_S64P => Sample::I64(Type::Planar),
AV_SAMPLE_FMT_FLTP => Sample::F32(Type::Planar),
AV_SAMPLE_FMT_DBLP => Sample::F64(Type::Planar),
@ -115,12 +119,14 @@ impl Into<AVSampleFormat> for Sample {
Sample::U8(Type::Packed) => AV_SAMPLE_FMT_U8,
Sample::I16(Type::Packed) => AV_SAMPLE_FMT_S16,
Sample::I32(Type::Packed) => AV_SAMPLE_FMT_S32,
Sample::I64(Type::Packed) => AV_SAMPLE_FMT_S64,
Sample::F32(Type::Packed) => AV_SAMPLE_FMT_FLT,
Sample::F64(Type::Packed) => AV_SAMPLE_FMT_DBL,
Sample::U8(Type::Planar) => AV_SAMPLE_FMT_U8P,
Sample::I16(Type::Planar) => AV_SAMPLE_FMT_S16P,
Sample::I32(Type::Planar) => AV_SAMPLE_FMT_S32P,
Sample::I64(Type::Planar) => AV_SAMPLE_FMT_S64P,
Sample::F32(Type::Planar) => AV_SAMPLE_FMT_FLTP,
Sample::F64(Type::Planar) => AV_SAMPLE_FMT_DBLP,
}