projects
/
nihav-encoder.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
4dd9047
)
pass null frames to the encoder without attempting to convert them
author
Kostya Shishkov
<kostya.shishkov@gmail.com>
Fri, 10 Mar 2023 17:23:23 +0000
(18:23 +0100)
committer
Kostya Shishkov
<kostya.shishkov@gmail.com>
Fri, 10 Mar 2023 17:23:23 +0000
(18:23 +0100)
src/main.rs
patch
|
blob
|
blame
|
history
diff --git
a/src/main.rs
b/src/main.rs
index 191a8a6133c2d24175464ebc88995a6ba75ab317..5e00cf08a8412bd9cac2dfa37c64602011bb5184 100644
(file)
--- a/
src/main.rs
+++ b/
src/main.rs
@@
-706,7
+706,10
@@
println!("can't generate default channel map for {} channels", dainfo.channels);
fn encode_frame(dst_id: u32, encoder: &mut Box<dyn NAEncoder>, cvt: &mut OutputConvert, frm: NAFrameRef, scale_opts: &[(String, String)]) -> bool {
let buf = frm.get_buffer();
fn encode_frame(dst_id: u32, encoder: &mut Box<dyn NAEncoder>, cvt: &mut OutputConvert, frm: NAFrameRef, scale_opts: &[(String, String)]) -> bool {
let buf = frm.get_buffer();
- let cbuf = match cvt {
+ let cbuf = if let NABufferType::None = buf {
+ buf
+ } else {
+ match cvt {
OutputConvert::None => buf,
OutputConvert::Video(ref mut scaler, ref mut dbuf) => {
let cur_ifmt = get_scale_fmt_from_pic(&buf);
OutputConvert::None => buf,
OutputConvert::Video(ref mut scaler, ref mut dbuf) => {
let cur_ifmt = get_scale_fmt_from_pic(&buf);
@@
-735,7
+738,8
@@
fn encode_frame(dst_id: u32, encoder: &mut Box<dyn NAEncoder>, cvt: &mut OutputC
}
ret.unwrap()
},
}
ret.unwrap()
},
- };
+ }
+ };
let cfrm = NAFrame::new(frm.get_time_information(), frm.frame_type, frm.key, frm.get_info(), cbuf);
encoder.encode(&cfrm).unwrap();
true
let cfrm = NAFrame::new(frm.get_time_information(), frm.frame_type, frm.key, frm.get_info(), cbuf);
encoder.encode(&cfrm).unwrap();
true