let mut line1 = vec![0; stride];
swap_plane(&mut data[off..], stride, h, line0.as_mut_slice(), line1.as_mut_slice());
}
+ if ncomp == 0 && vb.get_stride(0) != 0 {
+ let off = vb.get_offset(0);
+ let stride = vb.get_stride(0);
+ let (_, h) = vb.get_dimensions(0);
+ let data = vb.get_data_mut().unwrap();
+ let mut line0 = vec![0; stride];
+ let mut line1 = vec![0; stride];
+ swap_plane(&mut data[off..], stride, h, line0.as_mut_slice(), line1.as_mut_slice());
+ }
},
_ => { return Err(ScaleError::InvalidArgument); },
};
let uoff = obuf.get_offset(1);
let voff = obuf.get_offset(2);
let odata = obuf.get_data();
- assert_eq!(odata[yoff], 28);
- assert_eq!(odata[uoff], 154);
- assert_eq!(odata[voff], 103);
+ assert_eq!(odata[yoff], 11);
+ assert_eq!(odata[uoff], 162);
+ assert_eq!(odata[voff], 118);
}
#[test]
fn test_scale_and_convert_to_pal() {
let odata = obuf.get_data();
assert_eq!(odata[dataoff], 0);
assert_eq!(odata[paloff], 157);
- assert_eq!(odata[paloff + 1], 99);
+ assert_eq!(odata[paloff + 1], 129);
assert_eq!(odata[paloff + 2], 170);
}
}