*: 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:
parent
8cf47c7ec6
commit
5ac0527bdc
@ -1,4 +1,5 @@
|
||||
use ffi::*;
|
||||
use ffi::AVAudioServiceType::*;
|
||||
|
||||
#[derive(Eq, PartialEq, Clone, Copy, Debug)]
|
||||
pub enum AudioService {
|
||||
|
@ -54,7 +54,7 @@ impl Codec {
|
||||
|
||||
pub fn medium(&self) -> media::Type {
|
||||
unsafe {
|
||||
media::Type::from((*self.as_ptr()).kind)
|
||||
media::Type::from((*self.as_ptr()).type_)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,7 @@ impl Subtitle {
|
||||
unsafe {
|
||||
let mut got: c_int = 0;
|
||||
|
||||
match avcodec_decode_subtitle2(self.as_mut_ptr(), out.as_mut_ptr(), &mut got, packet.as_ptr()) {
|
||||
match avcodec_decode_subtitle2(self.as_mut_ptr(), out.as_mut_ptr(), &mut got, packet.as_ptr() as *mut _) {
|
||||
e if e < 0 => Err(Error::from(e)),
|
||||
_ => Ok(got != 0)
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
use ffi::*;
|
||||
use ffi::AVDiscard::*;
|
||||
|
||||
#[derive(Eq, PartialEq, Clone, Copy, Debug)]
|
||||
pub enum Discard {
|
||||
|
@ -1,4 +1,5 @@
|
||||
use ffi::*;
|
||||
use ffi::AVFieldOrder::*;
|
||||
|
||||
#[derive(Eq, PartialEq, Clone, Copy, Debug)]
|
||||
pub enum FieldOrder {
|
||||
|
@ -2,6 +2,7 @@ use std::ffi::CStr;
|
||||
use std::str::from_utf8_unchecked;
|
||||
|
||||
use ffi::*;
|
||||
use ffi::AVCodecID::*;
|
||||
use ::util::media;
|
||||
|
||||
#[allow(non_camel_case_types)]
|
||||
@ -458,6 +459,19 @@ pub enum Id {
|
||||
MPEG4SYSTEMS,
|
||||
FFMETADATA,
|
||||
WRAPPED_AVFRAME,
|
||||
|
||||
PSD,
|
||||
PIXLET,
|
||||
SPEEDHQ,
|
||||
CLEARVIDEO,
|
||||
FMVC,
|
||||
SCPR,
|
||||
XPM,
|
||||
AV1,
|
||||
PCM_F16LE,
|
||||
PCM_F24LE,
|
||||
ATRAC3AL,
|
||||
ATRAC3PAL,
|
||||
}
|
||||
|
||||
impl Id {
|
||||
@ -925,6 +939,18 @@ impl From<AVCodecID> for Id {
|
||||
AV_CODEC_ID_MPEG4SYSTEMS => Id::MPEG4SYSTEMS,
|
||||
AV_CODEC_ID_FFMETADATA => Id::FFMETADATA,
|
||||
AV_CODEC_ID_WRAPPED_AVFRAME => Id::WRAPPED_AVFRAME,
|
||||
AV_CODEC_ID_PSD => Id::PSD,
|
||||
AV_CODEC_ID_PIXLET => Id::PIXLET,
|
||||
AV_CODEC_ID_SPEEDHQ => Id::SPEEDHQ,
|
||||
AV_CODEC_ID_CLEARVIDEO => Id::CLEARVIDEO,
|
||||
AV_CODEC_ID_FMVC => Id::FMVC,
|
||||
AV_CODEC_ID_SCPR => Id::SCPR,
|
||||
AV_CODEC_ID_XPM => Id::XPM,
|
||||
AV_CODEC_ID_AV1 => Id::AV1,
|
||||
AV_CODEC_ID_PCM_F16LE => Id::PCM_F16LE,
|
||||
AV_CODEC_ID_PCM_F24LE => Id::PCM_F24LE,
|
||||
AV_CODEC_ID_ATRAC3AL => Id::ATRAC3AL,
|
||||
AV_CODEC_ID_ATRAC3PAL => Id::ATRAC3PAL,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1073,7 +1099,7 @@ impl Into<AVCodecID> for Id {
|
||||
Id::ANM => AV_CODEC_ID_ANM,
|
||||
Id::BINKVIDEO => AV_CODEC_ID_BINKVIDEO,
|
||||
Id::IFF_ILBM => AV_CODEC_ID_IFF_ILBM,
|
||||
Id::IFF_BYTERUN1 => AV_CODEC_ID_IFF_BYTERUN1,
|
||||
Id::IFF_BYTERUN1 => AV_CODEC_ID_IFF_ILBM,
|
||||
Id::KGV1 => AV_CODEC_ID_KGV1,
|
||||
Id::YOP => AV_CODEC_ID_YOP,
|
||||
Id::VP8 => AV_CODEC_ID_VP8,
|
||||
@ -1111,7 +1137,7 @@ impl Into<AVCodecID> for Id {
|
||||
Id::WEBP => AV_CODEC_ID_WEBP,
|
||||
Id::HNM4_VIDEO => AV_CODEC_ID_HNM4_VIDEO,
|
||||
Id::HEVC => AV_CODEC_ID_HEVC,
|
||||
Id::H265 => AV_CODEC_ID_H265,
|
||||
Id::H265 => AV_CODEC_ID_HEVC,
|
||||
Id::FIC => AV_CODEC_ID_FIC,
|
||||
Id::ALIAS_PIX => AV_CODEC_ID_ALIAS_PIX,
|
||||
Id::BRENDER_PIX => AV_CODEC_ID_BRENDER_PIX,
|
||||
@ -1383,6 +1409,19 @@ impl Into<AVCodecID> for Id {
|
||||
Id::MPEG4SYSTEMS => AV_CODEC_ID_MPEG4SYSTEMS,
|
||||
Id::FFMETADATA => AV_CODEC_ID_FFMETADATA,
|
||||
Id::WRAPPED_AVFRAME => AV_CODEC_ID_WRAPPED_AVFRAME,
|
||||
|
||||
Id::PSD => AV_CODEC_ID_PSD,
|
||||
Id::PIXLET => AV_CODEC_ID_PIXLET,
|
||||
Id::SPEEDHQ => AV_CODEC_ID_SPEEDHQ,
|
||||
Id::FMVC => AV_CODEC_ID_FMVC,
|
||||
Id::CLEARVIDEO => AV_CODEC_ID_CLEARVIDEO,
|
||||
Id::SCPR => AV_CODEC_ID_SCPR,
|
||||
Id::XPM => AV_CODEC_ID_XPM,
|
||||
Id::AV1 => AV_CODEC_ID_AV1,
|
||||
Id::PCM_F16LE => AV_CODEC_ID_PCM_F16LE,
|
||||
Id::PCM_F24LE => AV_CODEC_ID_PCM_F24LE,
|
||||
Id::ATRAC3AL => AV_CODEC_ID_ATRAC3AL,
|
||||
Id::ATRAC3PAL => AV_CODEC_ID_ATRAC3PAL,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -208,7 +208,7 @@ impl Packet {
|
||||
return Err(Error::InvalidData);
|
||||
}
|
||||
|
||||
match av_write_frame(format.as_mut_ptr(), self.as_ptr()) {
|
||||
match av_write_frame(format.as_mut_ptr(), self.as_ptr() as *mut _) {
|
||||
1 => Ok(true),
|
||||
0 => Ok(false),
|
||||
e => Err(Error::from(e))
|
||||
@ -223,7 +223,7 @@ impl Packet {
|
||||
return Err(Error::InvalidData);
|
||||
}
|
||||
|
||||
match av_interleaved_write_frame(format.as_mut_ptr(), self.as_ptr()) {
|
||||
match av_interleaved_write_frame(format.as_mut_ptr(), self.as_ptr() as *mut _) {
|
||||
1 => Ok(true),
|
||||
0 => Ok(false),
|
||||
e => Err(Error::from(e))
|
||||
|
@ -2,6 +2,7 @@ use std::marker::PhantomData;
|
||||
use std::slice;
|
||||
|
||||
use ffi::*;
|
||||
use ffi::AVPacketSideDataType::*;
|
||||
use super::Packet;
|
||||
|
||||
#[derive(Eq, PartialEq, Copy, Clone, Debug)]
|
||||
@ -26,7 +27,9 @@ pub enum Type {
|
||||
WebVTTSettings,
|
||||
MetadataUpdate,
|
||||
MPEGTSStreamID,
|
||||
MasteringDisplayMetadata
|
||||
MasteringDisplayMetadata,
|
||||
DataSpherical,
|
||||
DataNb,
|
||||
}
|
||||
|
||||
impl From<AVPacketSideDataType> for Type {
|
||||
@ -52,7 +55,9 @@ impl From<AVPacketSideDataType> for Type {
|
||||
AV_PKT_DATA_WEBVTT_SETTINGS => Type::WebVTTSettings,
|
||||
AV_PKT_DATA_METADATA_UPDATE => Type::MetadataUpdate,
|
||||
AV_PKT_DATA_MPEGTS_STREAM_ID => Type::MPEGTSStreamID,
|
||||
AV_PKT_DATA_MASTERING_DISPLAY_METADATA => Type::MasteringDisplayMetadata
|
||||
AV_PKT_DATA_MASTERING_DISPLAY_METADATA => Type::MasteringDisplayMetadata,
|
||||
AV_PKT_DATA_SPHERICAL => Type::DataSpherical,
|
||||
AV_PKT_DATA_NB => Type::DataNb,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -80,7 +85,9 @@ impl Into<AVPacketSideDataType> for Type {
|
||||
Type::WebVTTSettings => AV_PKT_DATA_WEBVTT_SETTINGS,
|
||||
Type::MetadataUpdate => AV_PKT_DATA_METADATA_UPDATE,
|
||||
Type::MPEGTSStreamID => AV_PKT_DATA_MPEGTS_STREAM_ID,
|
||||
Type::MasteringDisplayMetadata => AV_PKT_DATA_MASTERING_DISPLAY_METADATA
|
||||
Type::MasteringDisplayMetadata => AV_PKT_DATA_MASTERING_DISPLAY_METADATA,
|
||||
Type::DataSpherical => AV_PKT_DATA_SPHERICAL,
|
||||
Type::DataNb => AV_PKT_DATA_NB,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -104,7 +111,7 @@ impl<'a> SideData<'a> {
|
||||
impl<'a> SideData<'a> {
|
||||
pub fn kind(&self) -> Type {
|
||||
unsafe {
|
||||
Type::from((*self.as_ptr()).kind)
|
||||
Type::from((*self.as_ptr()).type_)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -12,6 +12,7 @@ use std::mem;
|
||||
|
||||
use libc::{c_uint, uint32_t, size_t};
|
||||
use ffi::*;
|
||||
use ffi::AVSubtitleType::*;
|
||||
|
||||
#[derive(Eq, PartialEq, Clone, Copy, Debug)]
|
||||
pub enum Type {
|
||||
@ -105,7 +106,7 @@ impl Subtitle {
|
||||
as *mut _;
|
||||
|
||||
let mut rect = av_mallocz(mem::size_of::<AVSubtitleRect>() as size_t) as *mut AVSubtitleRect;
|
||||
(*rect).kind = kind.into();
|
||||
(*rect).type_ = kind.into();
|
||||
|
||||
*self.0.rects.offset((self.0.num_rects - 1) as isize) = rect;
|
||||
|
||||
|
@ -15,7 +15,7 @@ pub enum Rect<'a> {
|
||||
|
||||
impl<'a> Rect<'a> {
|
||||
pub unsafe fn wrap(ptr: *const AVSubtitleRect) -> Self {
|
||||
match Type::from((*ptr).kind) {
|
||||
match Type::from((*ptr).type_) {
|
||||
Type::None => Rect::None(ptr),
|
||||
Type::Bitmap => Rect::Bitmap(Bitmap::wrap(ptr)),
|
||||
Type::Text => Rect::Text(Text::wrap(ptr)),
|
||||
|
@ -14,7 +14,7 @@ pub enum RectMut<'a> {
|
||||
|
||||
impl<'a> RectMut<'a> {
|
||||
pub unsafe fn wrap(ptr: *mut AVSubtitleRect) -> Self {
|
||||
match Type::from((*ptr).kind) {
|
||||
match Type::from((*ptr).type_) {
|
||||
Type::None => RectMut::None(ptr),
|
||||
Type::Bitmap => RectMut::Bitmap(BitmapMut::wrap(ptr)),
|
||||
Type::Text => RectMut::Text(TextMut::wrap(ptr)),
|
||||
|
@ -26,7 +26,7 @@ impl<'a> DeviceIter<'a> {
|
||||
pub unsafe fn wrap(ctx: *const AVFormatContext) -> Result<Self, Error> {
|
||||
let mut ptr: *mut AVDeviceInfoList = ptr::null_mut();
|
||||
|
||||
match avdevice_list_devices(ctx, &mut ptr) {
|
||||
match avdevice_list_devices(ctx as *mut _, &mut ptr) {
|
||||
n if n < 0 =>
|
||||
Err(Error::from(n)),
|
||||
|
||||
|
@ -17,7 +17,7 @@ impl<'a> Source<'a> {
|
||||
impl<'a> Source<'a> {
|
||||
pub fn failed_requests(&self) -> usize {
|
||||
unsafe {
|
||||
av_buffersrc_get_nb_failed_requests(self.ctx.as_ptr()) as usize
|
||||
av_buffersrc_get_nb_failed_requests(self.ctx.as_ptr() as *mut _) as usize
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -85,7 +85,7 @@ impl Graph {
|
||||
|
||||
pub fn dump(&self) -> String {
|
||||
unsafe {
|
||||
let ptr = avfilter_graph_dump(self.as_ptr(), ptr::null());
|
||||
let ptr = avfilter_graph_dump(self.as_ptr() as *mut _, ptr::null());
|
||||
let cstr = from_utf8_unchecked(CStr::from_ptr((ptr)).to_bytes());
|
||||
let string = cstr.to_owned();
|
||||
|
||||
|
@ -27,7 +27,7 @@ pub fn register_all() {
|
||||
|
||||
pub fn register(filter: &Filter) -> Result<(), Error> {
|
||||
unsafe {
|
||||
match avfilter_register(filter.as_ptr()) {
|
||||
match avfilter_register(filter.as_ptr() as *mut _) {
|
||||
0 => Ok(()),
|
||||
_ => Err(Error::InvalidData),
|
||||
}
|
||||
|
@ -106,7 +106,7 @@ impl<'a> Best<'a> {
|
||||
pub fn best<'b>(self, kind: media::Type) -> Option<Stream<'b>> where 'a: 'b {
|
||||
unsafe {
|
||||
let mut decoder = ptr::null_mut();
|
||||
let index = av_find_best_stream(self.context.as_ptr(),
|
||||
let index = av_find_best_stream(self.context.ptr,
|
||||
kind.into(), self.wanted as c_int, self.related as c_int,
|
||||
&mut decoder, 0);
|
||||
|
||||
|
@ -182,7 +182,7 @@ pub fn dump(ctx: &Input, index: i32, url: Option<&str>) {
|
||||
let url = url.map(|u| CString::new(u).unwrap());
|
||||
|
||||
unsafe {
|
||||
av_dump_format(ctx.as_ptr(), index,
|
||||
av_dump_format(ctx.as_ptr() as *mut _, index,
|
||||
url.map(|u| u.as_ptr()).unwrap_or(ptr::null()), 0);
|
||||
}
|
||||
}
|
||||
|
@ -106,7 +106,7 @@ pub fn dump(ctx: &Output, index: i32, url: Option<&str>) {
|
||||
let url = url.map(|u| CString::new(u).unwrap());
|
||||
|
||||
unsafe {
|
||||
av_dump_format(ctx.as_ptr(), index,
|
||||
av_dump_format(ctx.as_ptr() as *mut _, index,
|
||||
url.map(|u| u.as_ptr()).unwrap_or(ptr::null()), 1);
|
||||
}
|
||||
}
|
||||
|
@ -70,7 +70,7 @@ impl Output {
|
||||
let path = CString::new(path.as_ref().as_os_str().to_str().unwrap()).unwrap();
|
||||
|
||||
unsafe {
|
||||
codec::Id::from(av_guess_codec(self.as_ptr(), ptr::null(), path.as_ptr(), ptr::null(), kind.into()))
|
||||
codec::Id::from(av_guess_codec(self.as_ptr() as *mut _, ptr::null(), path.as_ptr(), ptr::null(), kind.into()))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -29,11 +29,11 @@ pub fn register_all() {
|
||||
pub fn register(format: &Format) {
|
||||
match format {
|
||||
&Format::Input(ref format) => unsafe {
|
||||
av_register_input_format(format.as_ptr());
|
||||
av_register_input_format(format.as_ptr() as *mut _);
|
||||
},
|
||||
|
||||
&Format::Output(ref format) => unsafe {
|
||||
av_register_output_format(format.as_ptr());
|
||||
av_register_output_format(format.as_ptr() as *mut _);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -69,7 +69,7 @@ pub fn open<P: AsRef<Path>>(path: &P, format: &Format) -> Result<Context, Error>
|
||||
|
||||
match format {
|
||||
&Format::Input(ref format) => {
|
||||
match avformat_open_input(&mut ps, path.as_ptr(), format.as_ptr(), ptr::null_mut()) {
|
||||
match avformat_open_input(&mut ps, path.as_ptr(), format.as_ptr() as *mut _, ptr::null_mut()) {
|
||||
0 => {
|
||||
match avformat_find_stream_info(ps, ptr::null_mut()) {
|
||||
r if r >= 0 => Ok(Context::Input(context::Input::wrap(ps))),
|
||||
@ -82,7 +82,7 @@ pub fn open<P: AsRef<Path>>(path: &P, format: &Format) -> Result<Context, Error>
|
||||
}
|
||||
|
||||
&Format::Output(ref format) => {
|
||||
match avformat_alloc_output_context2(&mut ps, format.as_ptr(), ptr::null(), path.as_ptr()) {
|
||||
match avformat_alloc_output_context2(&mut ps, format.as_ptr() as *mut _, ptr::null(), path.as_ptr()) {
|
||||
0 => {
|
||||
match avio_open(&mut (*ps).pb, path.as_ptr(), AVIO_FLAG_WRITE) {
|
||||
0 => Ok(Context::Output(context::Output::wrap(ps))),
|
||||
@ -105,7 +105,7 @@ pub fn open_with<P: AsRef<Path>>(path: &P, format: &Format, options: Dictionary)
|
||||
|
||||
match format {
|
||||
&Format::Input(ref format) => {
|
||||
let res = avformat_open_input(&mut ps, path.as_ptr(), format.as_ptr(), &mut opts);
|
||||
let res = avformat_open_input(&mut ps, path.as_ptr(), format.as_ptr() as *mut _, &mut opts);
|
||||
|
||||
Dictionary::own(opts);
|
||||
|
||||
@ -122,7 +122,7 @@ pub fn open_with<P: AsRef<Path>>(path: &P, format: &Format, options: Dictionary)
|
||||
}
|
||||
|
||||
&Format::Output(ref format) => {
|
||||
match avformat_alloc_output_context2(&mut ps, format.as_ptr(), ptr::null(), path.as_ptr()) {
|
||||
match avformat_alloc_output_context2(&mut ps, format.as_ptr() as *mut _, ptr::null(), path.as_ptr()) {
|
||||
0 => {
|
||||
match avio_open(&mut (*ps).pb, path.as_ptr(), AVIO_FLAG_WRITE) {
|
||||
0 => Ok(Context::Output(context::Output::wrap(ps))),
|
||||
|
@ -84,7 +84,7 @@ impl Context {
|
||||
/// Get the remaining delay.
|
||||
pub fn delay(&self) -> Option<Delay> {
|
||||
unsafe {
|
||||
match swr_get_delay(self.as_ptr(), 1) {
|
||||
match swr_get_delay(self.as_ptr() as *mut _, 1) {
|
||||
0 => None,
|
||||
_ => Some(Delay::from(self))
|
||||
}
|
||||
|
@ -14,10 +14,10 @@ impl Delay {
|
||||
pub fn from(context: &Context) -> Self {
|
||||
unsafe {
|
||||
Delay {
|
||||
seconds: swr_get_delay(context.as_ptr(), 1),
|
||||
milliseconds: swr_get_delay(context.as_ptr(), 1000),
|
||||
input: swr_get_delay(context.as_ptr(), context.input().rate as int64_t),
|
||||
output: swr_get_delay(context.as_ptr(), context.output().rate as int64_t),
|
||||
seconds: swr_get_delay(context.as_ptr() as *mut _, 1),
|
||||
milliseconds: swr_get_delay(context.as_ptr() as *mut _, 1000),
|
||||
input: swr_get_delay(context.as_ptr() as *mut _, context.input().rate as int64_t),
|
||||
output: swr_get_delay(context.as_ptr() as *mut _, context.output().rate as int64_t),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
use ffi::*;
|
||||
use ffi::SwrDitherType::*;
|
||||
|
||||
#[derive(Eq, PartialEq, Copy, Clone, Debug)]
|
||||
pub enum Dither {
|
||||
|
@ -1,4 +1,5 @@
|
||||
use ffi::*;
|
||||
use sys::SwrEngine::*;
|
||||
|
||||
#[derive(Eq, PartialEq, Copy, Clone, Debug)]
|
||||
pub enum Engine {
|
||||
|
@ -1,4 +1,5 @@
|
||||
use ffi::*;
|
||||
use ffi::SwrFilterType::*;
|
||||
|
||||
#[derive(Eq, PartialEq, Copy, Clone, Debug)]
|
||||
pub enum Filter {
|
||||
|
@ -1,14 +0,0 @@
|
||||
use libc::c_uint;
|
||||
use ffi::*;
|
||||
|
||||
bitflags! {
|
||||
pub flags Capabilities: c_uint {
|
||||
const MMX = SWS_CPU_CAPS_MMX,
|
||||
const MMXEXT = SWS_CPU_CAPS_MMXEXT,
|
||||
const MMX2 = SWS_CPU_CAPS_MMX2,
|
||||
const _3DNOW = SWS_CPU_CAPS_3DNOW,
|
||||
const ALTIVEC = SWS_CPU_CAPS_ALTIVEC,
|
||||
const BFIN = SWS_CPU_CAPS_BFIN,
|
||||
const SSE2 = SWS_CPU_CAPS_SSE2,
|
||||
}
|
||||
}
|
@ -119,7 +119,7 @@ impl Context {
|
||||
sws_scale(self.as_mut_ptr(),
|
||||
(*input.as_ptr()).data.as_ptr() as *const *const _, (*input.as_ptr()).linesize.as_ptr() as *const _,
|
||||
0, self.output.height as c_int,
|
||||
(*output.as_mut_ptr()).data.as_ptr() as *mut *mut _, (*output.as_mut_ptr()).linesize.as_ptr() as *mut _);
|
||||
(*output.as_mut_ptr()).data.as_ptr() as *const *const _, (*output.as_mut_ptr()).linesize.as_ptr() as *mut _);
|
||||
}
|
||||
|
||||
Ok(())
|
||||
|
@ -1,9 +1,6 @@
|
||||
pub mod flag;
|
||||
pub use self::flag::Flags;
|
||||
|
||||
pub mod capability;
|
||||
pub use self::capability::Capabilities;
|
||||
|
||||
pub mod color_space;
|
||||
pub use self::color_space::ColorSpace;
|
||||
|
||||
|
@ -64,19 +64,19 @@ impl<'a> Vector<'a> {
|
||||
|
||||
pub fn conv(&mut self, other: &Vector) {
|
||||
unsafe {
|
||||
sws_convVec(self.as_mut_ptr(), other.as_ptr());
|
||||
sws_convVec(self.as_mut_ptr(), other.as_ptr() as *mut _);
|
||||
}
|
||||
}
|
||||
|
||||
pub fn add(&mut self, other: &Vector) {
|
||||
unsafe {
|
||||
sws_addVec(self.as_mut_ptr(), other.as_ptr());
|
||||
sws_addVec(self.as_mut_ptr(), other.as_ptr() as *mut _);
|
||||
}
|
||||
}
|
||||
|
||||
pub fn sub(&mut self, other: &Vector) {
|
||||
unsafe {
|
||||
sws_subVec(self.as_mut_ptr(), other.as_ptr());
|
||||
sws_subVec(self.as_mut_ptr(), other.as_ptr() as *mut _);
|
||||
}
|
||||
}
|
||||
|
||||
@ -104,7 +104,7 @@ impl<'a> Vector<'a> {
|
||||
impl<'a> Clone for Vector<'a> {
|
||||
fn clone(&self) -> Self {
|
||||
unsafe {
|
||||
Vector { ptr: sws_cloneVec(self.as_ptr()), _own: true, _marker: PhantomData }
|
||||
Vector { ptr: sws_cloneVec(self.as_ptr() as *mut _), _own: true, _marker: PhantomData }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
use ffi::*;
|
||||
use ffi::AVChromaLocation::*;
|
||||
|
||||
#[derive(Eq, PartialEq, Clone, Copy, Debug)]
|
||||
pub enum Location {
|
||||
|
@ -1,4 +1,5 @@
|
||||
use ffi::*;
|
||||
use ffi::AVColorPrimaries::*;
|
||||
|
||||
#[derive(Eq, PartialEq, Clone, Copy, Debug)]
|
||||
pub enum Primaries {
|
||||
@ -13,6 +14,11 @@ pub enum Primaries {
|
||||
SMPTE240M,
|
||||
Film,
|
||||
BT2020,
|
||||
|
||||
SMPTE428,
|
||||
SMPTE431,
|
||||
SMPTE432,
|
||||
JEDEC_P22,
|
||||
}
|
||||
|
||||
impl From<AVColorPrimaries> for Primaries {
|
||||
@ -29,7 +35,12 @@ impl From<AVColorPrimaries> for Primaries {
|
||||
AVCOL_PRI_SMPTE240M => Primaries::SMPTE240M,
|
||||
AVCOL_PRI_FILM => Primaries::Film,
|
||||
AVCOL_PRI_BT2020 => Primaries::BT2020,
|
||||
AVCOL_PRI_NB => Primaries::Reserved0
|
||||
AVCOL_PRI_NB => Primaries::Reserved0,
|
||||
|
||||
AVCOL_PRI_SMPTE428 => Primaries::SMPTE428,
|
||||
AVCOL_PRI_SMPTE431 => Primaries::SMPTE431,
|
||||
AVCOL_PRI_SMPTE432 => Primaries::SMPTE432,
|
||||
AVCOL_PRI_JEDEC_P22 => Primaries::JEDEC_P22,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -48,6 +59,11 @@ impl Into<AVColorPrimaries> for Primaries {
|
||||
Primaries::SMPTE240M => AVCOL_PRI_SMPTE240M,
|
||||
Primaries::Film => AVCOL_PRI_FILM,
|
||||
Primaries::BT2020 => AVCOL_PRI_BT2020,
|
||||
|
||||
Primaries::SMPTE428 => AVCOL_PRI_SMPTE428,
|
||||
Primaries::SMPTE431 => AVCOL_PRI_SMPTE431,
|
||||
Primaries::SMPTE432 => AVCOL_PRI_SMPTE432,
|
||||
Primaries::JEDEC_P22 => AVCOL_PRI_JEDEC_P22,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
use ffi::*;
|
||||
use ffi::AVColorRange::*;
|
||||
|
||||
#[derive(Eq, PartialEq, Clone, Copy, Debug)]
|
||||
pub enum Range {
|
||||
|
@ -2,6 +2,7 @@ use std::ffi::CStr;
|
||||
use std::str::from_utf8_unchecked;
|
||||
|
||||
use ffi::*;
|
||||
use ffi::AVColorSpace::*;
|
||||
|
||||
#[derive(Eq, PartialEq, Clone, Copy, Debug)]
|
||||
pub enum Space {
|
||||
@ -17,6 +18,7 @@ pub enum Space {
|
||||
YCGCO,
|
||||
BT2020NCL,
|
||||
BT2020CL,
|
||||
SMPTE2085,
|
||||
}
|
||||
|
||||
impl Space {
|
||||
@ -41,7 +43,8 @@ impl From<AVColorSpace> for Space {
|
||||
AVCOL_SPC_YCOCG => Space::YCOCG,
|
||||
AVCOL_SPC_BT2020_NCL => Space::BT2020NCL,
|
||||
AVCOL_SPC_BT2020_CL => Space::BT2020CL,
|
||||
AVCOL_SPC_NB => Space::Unspecified
|
||||
AVCOL_SPC_SMPTE2085 => Space::SMPTE2085,
|
||||
AVCOL_SPC_NB => Space::Unspecified,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -60,7 +63,8 @@ impl Into<AVColorSpace> for Space {
|
||||
Space::YCOCG => AVCOL_SPC_YCOCG,
|
||||
Space::YCGCO => AVCOL_SPC_YCGCO,
|
||||
Space::BT2020NCL => AVCOL_SPC_BT2020_NCL,
|
||||
Space::BT2020CL => AVCOL_SPC_BT2020_CL
|
||||
Space::BT2020CL => AVCOL_SPC_BT2020_CL,
|
||||
Space::SMPTE2085 => AVCOL_SPC_SMPTE2085,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
use ffi::*;
|
||||
use ffi::AVColorTransferCharacteristic::*;
|
||||
|
||||
#[derive(Eq, PartialEq, Clone, Copy, Debug)]
|
||||
pub enum TransferCharacteristic {
|
||||
@ -18,6 +19,9 @@ pub enum TransferCharacteristic {
|
||||
IEC61966_2_1,
|
||||
BT2020_10,
|
||||
BT2020_12,
|
||||
SMPTE2084,
|
||||
SMPTE428,
|
||||
ARIB_STD_B67,
|
||||
}
|
||||
|
||||
impl From<AVColorTransferCharacteristic> for TransferCharacteristic {
|
||||
@ -39,7 +43,10 @@ impl From<AVColorTransferCharacteristic> for TransferCharacteristic {
|
||||
AVCOL_TRC_IEC61966_2_1 => TransferCharacteristic::IEC61966_2_1,
|
||||
AVCOL_TRC_BT2020_10 => TransferCharacteristic::BT2020_10,
|
||||
AVCOL_TRC_BT2020_12 => TransferCharacteristic::BT2020_12,
|
||||
AVCOL_TRC_NB => TransferCharacteristic::Reserved0
|
||||
AVCOL_TRC_NB => TransferCharacteristic::Reserved0,
|
||||
AVCOL_TRC_SMPTE2084 => TransferCharacteristic::SMPTE2084,
|
||||
AVCOL_TRC_SMPTE428 => TransferCharacteristic::SMPTE428,
|
||||
AVCOL_TRC_ARIB_STD_B67 => TransferCharacteristic::ARIB_STD_B67,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -62,7 +69,10 @@ impl Into<AVColorTransferCharacteristic> for TransferCharacteristic {
|
||||
TransferCharacteristic::BT1361_ECG => AVCOL_TRC_BT1361_ECG,
|
||||
TransferCharacteristic::IEC61966_2_1 => AVCOL_TRC_IEC61966_2_1,
|
||||
TransferCharacteristic::BT2020_10 => AVCOL_TRC_BT2020_10,
|
||||
TransferCharacteristic::BT2020_12 => AVCOL_TRC_BT2020_12
|
||||
TransferCharacteristic::BT2020_12 => AVCOL_TRC_BT2020_12,
|
||||
TransferCharacteristic::SMPTE2084 => AVCOL_TRC_SMPTE2084,
|
||||
TransferCharacteristic::SMPTE428 => AVCOL_TRC_SMPTE428,
|
||||
TransferCharacteristic::ARIB_STD_B67 => AVCOL_TRC_ARIB_STD_B67,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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,
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ use std::ffi::CStr;
|
||||
use std::str::from_utf8_unchecked;
|
||||
|
||||
use ffi::*;
|
||||
use ffi::AVFrameSideDataType::*;
|
||||
use super::Frame;
|
||||
use ::DictionaryRef;
|
||||
|
||||
@ -22,6 +23,7 @@ pub enum Type {
|
||||
AudioServiceType,
|
||||
MasteringDisplayMetadata,
|
||||
GOPTimecode,
|
||||
Spherical,
|
||||
}
|
||||
|
||||
impl Type {
|
||||
@ -50,6 +52,7 @@ impl From<AVFrameSideDataType> for Type {
|
||||
AV_FRAME_DATA_AUDIO_SERVICE_TYPE => Type::AudioServiceType,
|
||||
AV_FRAME_DATA_MASTERING_DISPLAY_METADATA => Type::MasteringDisplayMetadata,
|
||||
AV_FRAME_DATA_GOP_TIMECODE => Type::GOPTimecode,
|
||||
AV_FRAME_DATA_SPHERICAL => Type::Spherical,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -71,6 +74,7 @@ impl Into<AVFrameSideDataType> for Type {
|
||||
Type::AudioServiceType => AV_FRAME_DATA_AUDIO_SERVICE_TYPE,
|
||||
Type::MasteringDisplayMetadata => AV_FRAME_DATA_MASTERING_DISPLAY_METADATA,
|
||||
Type::GOPTimecode => AV_FRAME_DATA_GOP_TIMECODE,
|
||||
Type::Spherical => AV_FRAME_DATA_SPHERICAL,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -102,7 +106,7 @@ impl<'a> SideData<'a> {
|
||||
#[inline]
|
||||
pub fn kind(&self) -> Type {
|
||||
unsafe {
|
||||
Type::from((*self.as_ptr()).kind)
|
||||
Type::from((*self.as_ptr()).type_)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
use ffi::*;
|
||||
use ffi::AVRounding::*;
|
||||
|
||||
#[derive(Eq, PartialEq, Clone, Copy, Debug)]
|
||||
pub enum Rounding {
|
||||
|
@ -1,4 +1,5 @@
|
||||
use ffi::*;
|
||||
use ffi::AVMediaType::*;
|
||||
|
||||
#[derive(Eq, PartialEq, Clone, Copy, Debug)]
|
||||
pub enum Type {
|
||||
|
@ -2,6 +2,7 @@ mod traits;
|
||||
pub use self::traits::{Target, Settable, Gettable, Iterable};
|
||||
|
||||
use ffi::*;
|
||||
use ffi::AVOptionType::*;
|
||||
|
||||
#[derive(PartialEq, Eq, Copy, Clone, Debug)]
|
||||
pub enum Type {
|
||||
@ -23,6 +24,8 @@ pub enum Type {
|
||||
Duration,
|
||||
Color,
|
||||
ChannelLayout,
|
||||
c_ulong,
|
||||
bool,
|
||||
}
|
||||
|
||||
impl From<AVOptionType> for Type {
|
||||
@ -38,6 +41,8 @@ impl From<AVOptionType> for Type {
|
||||
AV_OPT_TYPE_BINARY => Type::Binary,
|
||||
AV_OPT_TYPE_DICT => Type::Dictionary,
|
||||
AV_OPT_TYPE_CONST => Type::Constant,
|
||||
AV_OPT_TYPE_UINT64 => Type::c_ulong,
|
||||
AV_OPT_TYPE_BOOL => Type::bool,
|
||||
|
||||
AV_OPT_TYPE_IMAGE_SIZE => Type::ImageSize,
|
||||
AV_OPT_TYPE_PIXEL_FMT => Type::PixelFormat,
|
||||
@ -63,6 +68,8 @@ impl Into<AVOptionType> for Type {
|
||||
Type::Binary => AV_OPT_TYPE_BINARY,
|
||||
Type::Dictionary => AV_OPT_TYPE_DICT,
|
||||
Type::Constant => AV_OPT_TYPE_CONST,
|
||||
Type::c_ulong => AV_OPT_TYPE_UINT64,
|
||||
Type::bool => AV_OPT_TYPE_BOOL,
|
||||
|
||||
Type::ImageSize => AV_OPT_TYPE_IMAGE_SIZE,
|
||||
Type::PixelFormat => AV_OPT_TYPE_PIXEL_FMT,
|
||||
|
@ -1,4 +1,5 @@
|
||||
use ffi::*;
|
||||
use ffi::AVPictureType::*;
|
||||
|
||||
#[derive(Eq, PartialEq, Clone, Copy, Debug)]
|
||||
pub enum Type {
|
||||
|
Loading…
x
Reference in New Issue
Block a user