X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-core%2Fsrc%2Fscale%2Fscale%2Fmod.rs;h=5d0776d0ed3caf44851044315816ab6681818ce1;hb=e6aaad5c5273cd814b5748b7faf3751835a37217;hp=0a62e0f442550d38bd13967e89f87da363fb867c;hpb=213e9f9e88cb73c8b21fc61dbf3ddc65e1fb3924;p=nihav.git diff --git a/nihav-core/src/scale/scale/mod.rs b/nihav-core/src/scale/scale/mod.rs index 0a62e0f..5d0776d 100644 --- a/nihav-core/src/scale/scale/mod.rs +++ b/nihav-core/src/scale/scale/mod.rs @@ -221,8 +221,8 @@ impl LanczosResize { let a = order as f32; for i in 0..(order * 2) { let x = frac - ((i as f32) + 1.0 - a); - let fp = std::f32::consts::PI * (x as f32); - coeffs[i] = a * fp.sin() * (fp / a).sin() / (norm * (x as f32) * (x as f32)); + let fp = std::f32::consts::PI * x; + coeffs[i] = a * fp.sin() * (fp / a).sin() / (norm * x * x); } } fn create_cache(order: usize, den: usize) -> Vec> { @@ -294,11 +294,11 @@ macro_rules! scale_loop { } } let resizer = &mut $scalers[idx].1; - for (dline, sline) in $tbuf.chunks_mut(tstride).zip(src[ioff..].chunks(istride)).take(dh) { + for (dline, sline) in $tbuf.chunks_mut(tstride).zip(src[ioff..].chunks(istride)).take(sh) { resizer.resize_line(sline, sw, 1, dline, dw, 1); } } else { - for (dline, sline) in $tbuf.chunks_mut(tstride).zip(src[ioff..].chunks(istride)).take(dh) { + for (dline, sline) in $tbuf.chunks_mut(tstride).zip(src[ioff..].chunks(istride)).take(sh) { dline[..dw].copy_from_slice(&sline[..sw]); } }