From 7dc9858ee00e2e2418b7b24de9ae694ec0b075d1 Mon Sep 17 00:00:00 2001 From: meh Date: Wed, 5 Aug 2015 19:32:48 +0200 Subject: [PATCH] frame/video: change some inline attributes --- src/util/frame/video.rs | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/util/frame/video.rs b/src/util/frame/video.rs index af68247..1184649 100644 --- a/src/util/frame/video.rs +++ b/src/util/frame/video.rs @@ -15,10 +15,12 @@ use super::Frame; pub struct Video(Frame); impl Video { + #[inline(always)] pub unsafe fn wrap(ptr: *mut AVFrame) -> Self { Video(Frame::wrap(ptr)) } + #[inline] pub unsafe fn alloc(&mut self, format: format::Pixel, width: u32, height: u32) { self.set_format(format); self.set_width(width); @@ -29,12 +31,14 @@ impl Video { } impl Video { + #[inline(always)] pub fn empty() -> Self { unsafe { Video(Frame::empty()) } } + #[inline(always)] pub fn new(format: format::Pixel, width: u32, height: u32) -> Self { unsafe { let mut frame = Video::empty(); @@ -44,6 +48,7 @@ impl Video { } } + #[inline] pub fn format(&self) -> format::Pixel { unsafe { if (*self.as_ptr()).format == -1 { @@ -55,132 +60,154 @@ impl Video { } } + #[inline] pub fn set_format(&mut self, value: format::Pixel) { unsafe { (*self.as_mut_ptr()).format = mem::transmute::(value.into()); } } + #[inline] pub fn kind(&self) -> picture::Type { unsafe { picture::Type::from((*self.as_ptr()).pict_type) } } + #[inline] pub fn is_interlaced(&self) -> bool { unsafe { (*self.as_ptr()).interlaced_frame != 0 } } + #[inline] pub fn is_top_first(&self) -> bool { unsafe { (*self.as_ptr()).top_field_first != 0 } } + #[inline] pub fn has_palette_changed(&self) -> bool { unsafe { (*self.as_ptr()).palette_has_changed != 0 } } + #[inline] pub fn width(&self) -> u32 { unsafe { (*self.as_ptr()).width as u32 } } + #[inline] pub fn set_width(&mut self, value: u32) { unsafe { (*self.as_mut_ptr()).width = value as c_int; } } + #[inline] pub fn height(&self) -> u32 { unsafe { (*self.as_ptr()).height as u32 } } + #[inline] pub fn set_height(&mut self, value: u32) { unsafe { (*self.as_mut_ptr()).height = value as c_int; } } + #[inline] pub fn color_space(&self) -> color::Space { unsafe { color::Space::from(av_frame_get_colorspace(self.as_ptr())) } } + #[inline] pub fn set_color_space(&mut self, value: color::Space) { unsafe { av_frame_set_colorspace(self.as_mut_ptr(), value.into()); } } + #[inline] pub fn color_range(&self) -> color::Range { unsafe { color::Range::from(av_frame_get_color_range(self.as_ptr())) } } + #[inline] pub fn set_color_range(&mut self, value: color::Range) { unsafe { av_frame_set_color_range(self.as_mut_ptr(), value.into()); } } + #[inline] pub fn color_primaries(&self) -> color::Primaries { unsafe { color::Primaries::from((*self.as_ptr()).color_primaries) } } + #[inline] pub fn set_color_primaries(&mut self, value: color::Primaries) { unsafe { (*self.as_mut_ptr()).color_primaries = value.into(); } } + #[inline] pub fn color_transfer_characteristic(&self) -> color::TransferCharacteristic { unsafe { color::TransferCharacteristic::from((*self.as_ptr()).color_trc) } } + #[inline] pub fn set_color_transfer_characteristic(&mut self, value: color::TransferCharacteristic) { unsafe { (*self.as_mut_ptr()).color_trc = value.into(); } } + #[inline] pub fn chroma_location(&self) -> chroma::Location { unsafe { chroma::Location::from((*self.as_ptr()).chroma_location) } } + #[inline] pub fn aspect_ratio(&self) -> Rational { unsafe { Rational::from((*self.as_ptr()).sample_aspect_ratio) } } + #[inline] pub fn coded_number(&self) -> usize { unsafe { (*self.as_ptr()).coded_picture_number as usize } } + #[inline] pub fn display_number(&self) -> usize { unsafe { (*self.as_ptr()).display_picture_number as usize } } + #[inline] pub fn repeat(&self) -> f64 { unsafe { (*self.as_ptr()).repeat_pict as f64 @@ -199,6 +226,7 @@ impl Video { 8 } + #[inline] pub fn plane(&self, index: usize) -> &[T] { if index >= self.planes() { panic!("out of bounds"); @@ -215,6 +243,7 @@ impl Video { } } + #[inline] pub fn plane_mut(&mut self, index: usize) -> &mut[T] { if index >= self.planes() { panic!("out of bounds"); @@ -296,6 +325,7 @@ pub unsafe trait Component { #[cfg(feature = "image")] unsafe impl Component for ::image::Luma { + #[inline(always)] fn is_valid(format: format::Pixel) -> bool { format == format::Pixel::GRAY8 } @@ -303,6 +333,7 @@ unsafe impl Component for ::image::Luma { #[cfg(feature = "image")] unsafe impl Component for ::image::Rgb { + #[inline(always)] fn is_valid(format: format::Pixel) -> bool { format == format::Pixel::RGB24 } @@ -310,24 +341,28 @@ unsafe impl Component for ::image::Rgb { #[cfg(feature = "image")] unsafe impl Component for ::image::Rgba { + #[inline(always)] fn is_valid(format: format::Pixel) -> bool { format == format::Pixel::RGBA } } unsafe impl Component for [u8; 3] { + #[inline(always)] fn is_valid(format: format::Pixel) -> bool { format == format::Pixel::RGB24 || format == format::Pixel::BGR24 } } unsafe impl Component for (u8, u8, u8) { + #[inline(always)] fn is_valid(format: format::Pixel) -> bool { format == format::Pixel::RGB24 || format == format::Pixel::BGR24 } } unsafe impl Component for [u8; 4] { + #[inline(always)] fn is_valid(format: format::Pixel) -> bool { format == format::Pixel::RGBA || format == format::Pixel::BGRA || format == format::Pixel::ARGB || format == format::Pixel::ABGR || @@ -337,6 +372,7 @@ unsafe impl Component for [u8; 4] { } unsafe impl Component for (u8, u8, u8, u8) { + #[inline(always)] fn is_valid(format: format::Pixel) -> bool { format == format::Pixel::RGBA || format == format::Pixel::BGRA || format == format::Pixel::ARGB || format == format::Pixel::ABGR ||