pub fn write_pgmyuv(pfx: &str, strno: usize, num: u64, frm: NAFrameRef) {
if let NABufferType::None = frm.get_buffer() { return; }
- let name = format!("{}out{:02}_{:08}.pgm", pfx, strno, num);
+ let name = format!("{}{:02}_{:08}.pgm", pfx, strno, num);
let mut ofile = File::create(name).unwrap();
let buf = frm.get_buffer().get_vbuf().unwrap();
let is_flipped = buf.get_info().is_flipped();
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();
}
pub fn write_palppm(pfx: &str, strno: usize, num: u64, frm: NAFrameRef) {
- let name = format!("{}out{:02}_{:08}.ppm", pfx, strno, num);
+ let name = format!("{}{:02}_{:08}.ppm", pfx, strno, num);
let mut ofile = File::create(name).unwrap();
let buf = frm.get_buffer().get_vbuf().unwrap();
let (w, h) = buf.get_dimensions(0);
}
pub fn write_ppm(pfx: &str, strno: usize, num: u64, frm: NAFrameRef) {
- let name = format!("{}out{:02}_{:08}.ppm", pfx, strno, num);
+ let name = format!("{}{:02}_{:08}.ppm", pfx, strno, num);
let mut ofile = File::create(name).unwrap();
let info = frm.get_buffer().get_video_info().unwrap();
let flipped = info.is_flipped();