diff --git a/gstreamer-video/src/video_format_info.rs b/gstreamer-video/src/video_format_info.rs index 4c8cd890d..850ee30d5 100644 --- a/gstreamer-video/src/video_format_info.rs +++ b/gstreamer-video/src/video_format_info.rs @@ -138,11 +138,11 @@ impl VideoFormatInfo { } pub fn scale_width(&self, component: u8, width: u32) -> u32 { - (-((-(width as i64)) >> self.w_sub()[component as usize])) as u32 + (-((-(i64::from(width))) >> self.w_sub()[component as usize])) as u32 } pub fn scale_height(&self, component: u8, height: u32) -> u32 { - (-((-(height as i64)) >> self.h_sub()[component as usize])) as u32 + (-((-(i64::from(height))) >> self.h_sub()[component as usize])) as u32 } // TODO: pack/unpack diff --git a/gstreamer-video/src/video_info.rs b/gstreamer-video/src/video_info.rs index 8837c74c5..2fc514731 100644 --- a/gstreamer-video/src/video_info.rs +++ b/gstreamer-video/src/video_info.rs @@ -242,9 +242,8 @@ impl<'a> VideoInfoBuilder<'a> { return None; } - for i in 0..((*info.finfo).n_planes as usize) { - info.offset[i] = offset[i]; - } + let n_planes = (*info.finfo).n_planes as usize; + info.offset[..n_planes].copy_from_slice(&offset[..n_planes]); } if let Some(stride) = self.stride { @@ -252,9 +251,8 @@ impl<'a> VideoInfoBuilder<'a> { return None; } - for i in 0..((*info.finfo).n_planes as usize) { - info.stride[i] = stride[i]; - } + let n_planes = (*info.finfo).n_planes as usize; + info.stride[..n_planes].copy_from_slice(&stride[..n_planes]); } if let Some(multiview_mode) = self.multiview_mode {