X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=src%2Fcodecs%2Fblockdsp.rs;h=ab0773eab29c5e180d60879c5eeb493318e73814;hb=b7b96b4cabbde72f05d0464299bf7fdf74d6480c;hp=2f02b8468682d7b035145bdfb6c120617b73475d;hpb=cf64af13518ee281beec24f32aa0e36317260b82;p=nihav.git diff --git a/src/codecs/blockdsp.rs b/src/codecs/blockdsp.rs index 2f02b84..ab0773e 100644 --- a/src/codecs/blockdsp.rs +++ b/src/codecs/blockdsp.rs @@ -9,7 +9,7 @@ pub fn put_blocks(buf: &mut NAVideoBuffer, xpos: usize, ypos: usize, blk: &[ let mut idxv = buf.get_offset(2) + xpos * 8 + ypos * 8 * stridev; let mut data = buf.get_data_mut(); - let mut framebuf: &mut [u8] = data.as_mut_slice(); + let framebuf: &mut [u8] = data.as_mut_slice(); for j in 0..8 { for k in 0..8 { @@ -63,7 +63,7 @@ pub fn add_blocks(buf: &mut NAVideoBuffer, xpos: usize, ypos: usize, blk: &[ let mut idxv = buf.get_offset(2) + xpos * 8 + ypos * 8 * stridev; let mut data = buf.get_data_mut(); - let mut framebuf: &mut [u8] = data.as_mut_slice(); + let framebuf: &mut [u8] = data.as_mut_slice(); for j in 0..8 { for k in 0..8 { @@ -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();