projects
/
nihav.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
flacenc: set output packet PTS
[nihav.git]
/
nihav-llaudio
/
src
/
codecs
/
flacenc.rs
diff --git
a/nihav-llaudio/src/codecs/flacenc.rs
b/nihav-llaudio/src/codecs/flacenc.rs
index 3643c16d2f4ef74242f6d5e0b22fb0cc6f7fb1d5..f9adc24711f9f849ce5f329737a6cbc85aaffc8e 100644
(file)
--- a/
nihav-llaudio/src/codecs/flacenc.rs
+++ b/
nihav-llaudio/src/codecs/flacenc.rs
@@
-141,7
+141,7
@@
fn apply_lpc(dst: &mut [u32], src: &[i32], filter: &[i32], shift: u8) {
}
fn encode_residual(bw: &mut BitWriter, src: &[u32]) {
}
fn encode_residual(bw: &mut BitWriter, src: &[u32]) {
- let sum = src.iter().
fold(0, |acc, &x| acc + x
) / (src.len() as u32);
+ let sum = src.iter().
sum::<u32>(
) / (src.len() as u32);
let k = (31 - sum.max(1).leading_zeros()) as u8;
if k < 16 {
let k = (31 - sum.max(1).leading_zeros()) as u8;
if k < 16 {
@@
-173,6
+173,7
@@
struct FLACEncoder {
ifilter: [i32; 32],
}
ifilter: [i32; 32],
}
+#[allow(clippy::match_overlapping_arm)]
fn nsamples_code(nsamp: usize) -> u8 {
match nsamp {
192 => 1,
fn nsamples_code(nsamp: usize) -> u8 {
match nsamp {
192 => 1,
@@
-298,7
+299,7
@@
impl FLACEncoder {
let mut dbuf = bw.end();
calc_header_crc(&mut dbuf[..hdr_crc_pos]);
calc_frame_crc(&mut dbuf);
let mut dbuf = bw.end();
calc_header_crc(&mut dbuf[..hdr_crc_pos]);
calc_frame_crc(&mut dbuf);
- let ts = NATimeInfo::new(
None
, None, Some(nsamples as u64), 1, self.srate);
+ let ts = NATimeInfo::new(
Some(self.cur_pos as u64)
, None, Some(nsamples as u64), 1, self.srate);
for samp in self.samples.iter_mut() {
samp.drain(..nsamples);
for samp in self.samples.iter_mut() {
samp.drain(..nsamples);
@@
-326,7
+327,7
@@
impl FLACEncoder {
bw.write(1, 6);
bw.write0(); // no wasted bits
for &el in samp.iter() {
bw.write(1, 6);
bw.write0(); // no wasted bits
for &el in samp.iter() {
- bw.write_s(
i32::from(el)
, samp_bits);
+ bw.write_s(
el
, samp_bits);
}
},
-1 | -2 | -3 | -4 => {
}
},
-1 | -2 | -3 | -4 => {
@@
-337,7
+338,7
@@
impl FLACEncoder {
bw.write(8 | (order as u32), 6);
bw.write0(); // no wasted bits
for &el in samp[..order].iter() {
bw.write(8 | (order as u32), 6);
bw.write0(); // no wasted bits
for &el in samp[..order].iter() {
- bw.write_s(
i32::from(el)
, samp_bits);
+ bw.write_s(
el
, samp_bits);
}
encode_residual(bw, &self.tmp[order..nsamples]);
},
}
encode_residual(bw, &self.tmp[order..nsamples]);
},
@@
-373,7
+374,7
@@
impl FLACEncoder {
bw.write(0x20 | ((order - 1) as u32), 6);
bw.write0(); // no wasted bits
for &el in samp[..order].iter() {
bw.write(0x20 | ((order - 1) as u32), 6);
bw.write0(); // no wasted bits
for &el in samp[..order].iter() {
- bw.write_s(
i32::from(el)
, samp_bits);
+ bw.write_s(
el
, samp_bits);
}
bw.write(filter_bits - 1, 4);
bw.write(filter_prec, 5);
}
bw.write(filter_bits - 1, 4);
bw.write(filter_prec, 5);