}
/// Returns soniton description as a short string.
- pub fn to_short_string(&self) -> String {
+ pub fn to_short_string(self) -> String {
let ltype = if self.float { 'f' } else if self.signed { 's' } else { 'u' };
let endianness = if self.bits == 8 { "" } else if self.be { "be" } else { "le" };
let planar = if self.planar { "p" } else { "" };
impl fmt::Display for ColorModel {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
let name = match *self {
- ColorModel::RGB(fmt) => format!("RGB({})", fmt).to_string(),
- ColorModel::YUV(fmt) => format!("YUV({})", fmt).to_string(),
+ ColorModel::RGB(fmt) => format!("RGB({})", fmt),
+ ColorModel::YUV(fmt) => format!("YUV({})", fmt),
ColorModel::CMYK => "CMYK".to_string(),
ColorModel::HSV => "HSV".to_string(),
ColorModel::LAB => "LAB".to_string(),
}
ssamp
}
+ #[allow(clippy::cognitive_complexity)]
/// Returns a short string description of the format if possible.
pub fn to_short_string(&self) -> Option<String> {
match self.model {
'A' | 'a' => { order[3] = i; has_alpha = true; },
'0'..='9' => {
pstate = 1; bits_start = i;
- bits = ((ch as u8) - b'0') as u32;
+ bits = u32::from((ch as u8) - b'0');
},
_ => return Err(FormatParseError {}),
};
if i > 4 + bits_start { return Err(FormatParseError {}); }
match ch {
'0'..='9' => {
- bits = (bits * 10) + (((ch as u8) - b'0') as u32);
+ bits = (bits * 10) + u32::from((ch as u8) - b'0');
},
'B' | 'b' => { pstate = 2; }
'L' | 'l' => { pstate = 2; is_be = false; }
for ch in s.chars().skip(components as usize) {
parse_end += 1;
if ch >= '0' && ch <= '9' {
- format = format * 10 + (((ch as u8) - b'0') as u32);
+ format = format * 10 + u32::from((ch as u8) - b'0');
if format > 444 { return Err(FormatParseError {}); }
} else {
is_planar = ch == 'p';
444 => [[0, 0], [0, 0], [0, 0], [0, 0]],
_ => return Err(FormatParseError {}),
};
- for (chro, ss) in chromatons.iter_mut().take(components as usize).zip(subsamp.iter()) {
- *chro = Some(NAPixelChromaton{ h_ss: ss[0], v_ss: ss[1], packed: !is_planar, depth, shift: 0, comp_offs: next_elem, next_elem });
+ for (i, (chro, ss)) in chromatons.iter_mut().take(components as usize).zip(subsamp.iter()).enumerate() {
+ *chro = Some(NAPixelChromaton{ h_ss: ss[0], v_ss: ss[1], packed: !is_planar, depth, shift: 0, comp_offs: if is_planar { i as u8 } else { next_elem }, next_elem });
}
Ok(NAPixelFormaton { model: ColorModel::YUV(YUVSubmodel::YUVJ),
components,
impl FromStr for NAPixelFormaton {
type Err = FormatParseError;
+ #[allow(clippy::single_match)]
fn from_str(s: &str) -> Result<Self, Self::Err> {
match s {
"pal8" => return Ok(PAL8_FORMAT),