let stride2 = buf.get_stride(2);
let u = &dta[base1..][..h2*stride1];
let v = &dta[base2..][..h2*stride2];
- if !full_w {
+ let has_chroma = stride1 > 0 && stride2 > 0;
+ if !full_w && has_chroma {
if !is_flipped {
for (uline, vline) in u.chunks(stride1).zip(v.chunks(stride2)) {
ofile.write_all(&uline[..w2]).unwrap();
ofile.write_all(pad.as_slice()).unwrap();
}
}
- } else {
+ } else if has_chroma {
if !is_flipped {
for uline in u.chunks(stride1) {
ofile.write_all(&uline[..w2]).unwrap();