X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-core%2Fsrc%2Fscale%2Fpalette%2Fneuquant.rs;h=73d2a3acbd58134bdd4de9e20d83c6cad2bdee40;hp=7b19eb5fdd52283180fe6ed6a67e45122a64a800;hb=b36f412c24813b14cb2b1f8fd151863e2a49c1e2;hpb=36ce88be3f590a876fe539c8f631a58af2ea2cac diff --git a/nihav-core/src/scale/palette/neuquant.rs b/nihav-core/src/scale/palette/neuquant.rs index 7b19eb5..73d2a3a 100644 --- a/nihav-core/src/scale/palette/neuquant.rs +++ b/nihav-core/src/scale/palette/neuquant.rs @@ -39,7 +39,7 @@ impl NeuQuantQuantiser { let mut range = 0; let sqradius = (radius * radius) as f64; while (idx0 < high) || (idx1 > low) { - let sqrng = (range * range) as f64; + let sqrng = f64::from(range * range); let a = alpha * (sqradius - sqrng) / sqradius; range += 1; if idx0 < high { @@ -85,7 +85,7 @@ impl NeuQuantQuantiser { pub fn learn(&mut self, src: &[Pixel]) { let mut bias_radius = (256 / 8) << 6; let alphadec = (30 + (self.factor - 1) / 3) as f64; - let initial_alpha = (1 << 10) as f64; + let initial_alpha = f64::from(1 << 10); let npixels = src.len(); @@ -105,7 +105,7 @@ impl NeuQuantQuantiser { } for i in 0..samples { - let clr = [src[pos].r as f64, src[pos].g as f64, src[pos].b as f64]; + let clr = [f64::from(src[pos].r), f64::from(src[pos].g), f64::from(src[pos].b)]; let idx = self.find_node(&clr); if idx >= SPECIAL_NODES { let new_alpha = alphadec / initial_alpha;