fix some clippy warnings
[nihav.git] / nihav-llaudio / src / codecs / flacenc.rs
index 3643c16d2f4ef74242f6d5e0b22fb0cc6f7fb1d5..8b5b44decdff16272799cf3b81641d026e6ae33a 100644 (file)
@@ -141,7 +141,7 @@ fn apply_lpc(dst: &mut [u32], src: &[i32], filter: &[i32], shift: u8) {
 }
 
 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 {
@@ -173,6 +173,7 @@ struct FLACEncoder {
     ifilter:    [i32; 32],
 }
 
+#[allow(clippy::match_overlapping_arm)]
 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 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);
@@ -326,7 +327,7 @@ impl FLACEncoder {
                     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 => {
@@ -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_s(i32::from(el), samp_bits);
+                        bw.write_s(el, samp_bits);
                     }
                     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_s(i32::from(el), samp_bits);
+                        bw.write_s(el, samp_bits);
                     }
                     bw.write(filter_bits - 1, 4);
                     bw.write(filter_prec, 5);
@@ -395,9 +396,9 @@ impl NAEncoder for FLACEncoder {
     fn negotiate_format(&self, encinfo: &EncodeParameters) -> EncoderResult<EncodeParameters> {
         match encinfo.format {
             NACodecTypeInfo::None => {
-                let mut ofmt = EncodeParameters::default();
-                ofmt.format = NACodecTypeInfo::Audio(NAAudioInfo::new(0, 1, SND_S16_FORMAT, DEFAULT_BLOCK_LEN));
-                Ok(ofmt)
+                Ok(EncodeParameters {
+                    format: NACodecTypeInfo::Audio(NAAudioInfo::new(0, 1, SND_S16_FORMAT, DEFAULT_BLOCK_LEN)),
+                    ..Default::default() })
             },
             NACodecTypeInfo::Video(_) => Err(EncoderError::FormatError),
             NACodecTypeInfo::Audio(ainfo) => {
@@ -598,6 +599,7 @@ mod test {
         let mut enc_reg = RegisteredEncoders::new();
         llaudio_register_all_encoders(&mut enc_reg);
 
+        // sample: https://samples.mplayerhq.hu/A-codecs/lossless/luckynight.flac
         let dec_config = DecoderTestParams {
                 demuxer:        "flac",
                 in_name:        "assets/LLaudio/luckynight.flac",