X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=src%2Fcodecs%2Fblockdsp.rs;h=4c0fea67ca0845a00d360332fcf57d8ae49c0893;hb=aca8904163fb0a2bed0f5939097ddec3654d0551;hp=ed47284e5387a247fa94de3978a226855c7afe88;hpb=9037cf6b83ce135243522ec154cd7ffb35f8c816;p=nihav.git diff --git a/src/codecs/blockdsp.rs b/src/codecs/blockdsp.rs index ed47284..4c0fea6 100644 --- a/src/codecs/blockdsp.rs +++ b/src/codecs/blockdsp.rs @@ -1,4 +1,4 @@ -use frame::*; +use crate::frame::*; pub fn put_blocks(buf: &mut NAVideoBuffer, xpos: usize, ypos: usize, blk: &[[i16;64]; 6]) { let stridey = buf.get_stride(0); @@ -108,7 +108,7 @@ pub fn add_blocks(buf: &mut NAVideoBuffer, xpos: usize, ypos: usize, blk: &[ } } -fn edge_emu(src: &NAVideoBuffer, xpos: isize, ypos: isize, bw: usize, bh: usize, dst: &mut [u8], dstride: usize, comp: usize) { +pub fn edge_emu(src: &NAVideoBuffer, xpos: isize, ypos: isize, bw: usize, bh: usize, dst: &mut [u8], dstride: usize, comp: usize) { let stride = src.get_stride(comp); let offs = src.get_offset(comp); let (w, h) = src.get_dimensions(comp); @@ -147,7 +147,7 @@ pub fn copy_blocks(dst: &mut NAVideoBuffer, src: &NAVideoBuffer, ebuf.resize((((pre + post) as usize) + bh) * ebuf_stride, 0); for comp in 0..3 { - let dstride = src.get_stride(comp); + let dstride = dst.get_stride(comp); let doff = dst.get_offset(comp); let mut ddta = dst.get_data_mut(); let mut dbuf: &mut [u8] = ddta.as_mut_slice(); @@ -163,14 +163,13 @@ pub fn copy_blocks(dst: &mut NAVideoBuffer, src: &NAVideoBuffer, let bh_ = if comp > 0 { bh/2 } else { bh }; (interp[mode])(&mut dbuf[doff + x + y * dstride..], dstride, ebuf.as_slice(), ebuf_stride, bw_, bh_); } - } else { for comp in 0..3 { let sstride = src.get_stride(comp); let soff = src.get_offset(comp); let sdta = src.get_data(); let sbuf: &[u8] = sdta.as_slice(); - let dstride = src.get_stride(comp); + let dstride = dst.get_stride(comp); let doff = dst.get_offset(comp); let mut ddta = dst.get_data_mut(); let mut dbuf: &mut [u8] = ddta.as_mut_slice();