X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-core%2Fsrc%2Fframe.rs;h=1bf5dec96cfcaec1ad2c5814e82321f308acef18;hp=10db18de0d15ccf7be8a9d4dc50123e4a7f5c4fc;hb=e6aaad5c5273cd814b5748b7faf3751835a37217;hpb=625751036014b099fd9c126397bc973cb0543130 diff --git a/nihav-core/src/frame.rs b/nihav-core/src/frame.rs index 10db18d..1bf5dec 100644 --- a/nihav-core/src/frame.rs +++ b/nihav-core/src/frame.rs @@ -65,9 +65,9 @@ impl NAVideoInfo { NAVideoInfo { width: w, height: h, flipped: flip, format: fmt, bits } } /// Returns picture width. - pub fn get_width(&self) -> usize { self.width as usize } + pub fn get_width(&self) -> usize { self.width } /// Returns picture height. - pub fn get_height(&self) -> usize { self.height as usize } + pub fn get_height(&self) -> usize { self.height } /// Returns picture orientation. pub fn is_flipped(&self) -> bool { self.flipped } /// Returns picture pixel format. @@ -535,12 +535,12 @@ pub fn alloc_video_buffer(vinfo: NAVideoInfo, align: u8) -> Result = Vec::new(); for i in 0..fmt.get_num_comp() { - if fmt.get_chromaton(i) == None { return Err(AllocatorError::FormatError); } + if fmt.get_chromaton(i).is_none() { return Err(AllocatorError::FormatError); } } let align_mod = ((1 << align) as usize) - 1; - let width = ((vinfo.width as usize) + align_mod) & !align_mod; - let height = ((vinfo.height as usize) + align_mod) & !align_mod; + let width = (vinfo.width + align_mod) & !align_mod; + let height = (vinfo.height + align_mod) & !align_mod; let mut max_depth = 0; let mut all_packed = true; let mut all_bytealigned = true; @@ -562,10 +562,10 @@ pub fn alloc_video_buffer(vinfo: NAVideoInfo, align: u8) -> Result Result Result = vec![0; new_size]; strides.push(line_sz.unwrap()); @@ -614,7 +614,7 @@ pub fn alloc_video_buffer(vinfo: NAVideoInfo, align: u8) -> Result { @@ -636,11 +636,12 @@ pub fn alloc_video_buffer(vinfo: NAVideoInfo, align: u8) -> Result Result { let mut offs: Vec = Vec::new(); if ainfo.format.is_planar() || ((ainfo.format.get_bits() % 8) == 0) { let len = nsamples.checked_mul(ainfo.channels as usize); - if len == None { return Err(AllocatorError::TooLargeDimensions); } + if len.is_none() { return Err(AllocatorError::TooLargeDimensions); } let length = len.unwrap(); let stride; let step; @@ -684,7 +685,7 @@ pub fn alloc_audio_buffer(ainfo: NAAudioInfo, nsamples: usize, chmap: NAChannelM } } else { let len = nsamples.checked_mul(ainfo.channels as usize); - if len == None { return Err(AllocatorError::TooLargeDimensions); } + if len.is_none() { return Err(AllocatorError::TooLargeDimensions); } let length = ainfo.format.get_audio_size(len.unwrap() as u64); let data: Vec = vec![0; length]; let buf: NAAudioBuffer = NAAudioBuffer { data: NABufferRef::new(data), info: ainfo, offs, chmap, len: nsamples, stride: 0, step: 0 }; @@ -957,6 +958,7 @@ impl NATimeInfo { /// Converts time in given scale into timestamp in given base. #[allow(clippy::collapsible_if)] + #[allow(clippy::collapsible_else_if)] pub fn time_to_ts(time: u64, base: u64, tb_num: u32, tb_den: u32) -> u64 { let tb_num = u64::from(tb_num); let tb_den = u64::from(tb_den); @@ -1032,22 +1034,17 @@ impl NATimeInfo { } /// Time information for specifying durations or seek positions. -#[derive(Clone,Copy,Debug,PartialEq)] +#[derive(Clone,Copy,Debug,PartialEq,Default)] pub enum NATimePoint { /// Time in milliseconds. Milliseconds(u64), /// Stream timestamp. PTS(u64), /// No time information present. + #[default] None, } -impl Default for NATimePoint { - fn default() -> Self { - NATimePoint::None - } -} - impl fmt::Display for NATimePoint { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { @@ -1149,7 +1146,7 @@ impl FromStr for NATimePoint { let mut mval = 0; let mut base = 0; for ch in val.chars() { - if ('0'..='9').contains(&ch) { + if ch.is_ascii_digit() { mval = mval * 10 + u64::from((ch as u8) - b'0'); base += 1; if base > 3 { break; }