copy encoding parameters from the reference when negotiating the format
authorKostya Shishkov <kostya.shishkov@gmail.com>
Fri, 5 Jun 2020 13:59:28 +0000 (15:59 +0200)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Fri, 5 Jun 2020 13:59:28 +0000 (15:59 +0200)
nihav-commonfmt/src/codecs/cinepakenc.rs
nihav-ms/src/codecs/msadpcm.rs
nihav-ms/src/codecs/msvideo1enc.rs

index d40f504dbc828d81aba036177c220e53bbb28cfe..10e0a3670530c77ab7fba835d87ecb38a7b96311 100644 (file)
@@ -873,7 +873,7 @@ impl NAEncoder for CinepakEncoder {
             NACodecTypeInfo::Video(vinfo) => {
                 let pix_fmt = if vinfo.format == GRAY_FORMAT { GRAY_FORMAT } else { YUV420_FORMAT };
                 let outinfo = NAVideoInfo::new((vinfo.width + 3) & !3, (vinfo.height + 3) & !3, true, pix_fmt);
             NACodecTypeInfo::Video(vinfo) => {
                 let pix_fmt = if vinfo.format == GRAY_FORMAT { GRAY_FORMAT } else { YUV420_FORMAT };
                 let outinfo = NAVideoInfo::new((vinfo.width + 3) & !3, (vinfo.height + 3) & !3, true, pix_fmt);
-                let mut ofmt = EncodeParameters::default();
+                let mut ofmt = *encinfo;
                 ofmt.format = NACodecTypeInfo::Video(outinfo);
                 Ok(ofmt)
             }
                 ofmt.format = NACodecTypeInfo::Video(outinfo);
                 Ok(ofmt)
             }
index de6f447068c99f81e60843182facf612c90ca993..e6e995b6d25465a72478264ff6a580648b58bdd2 100644 (file)
@@ -320,7 +320,7 @@ impl NAEncoder for MSADPCMEncoder {
                 if (outinfo.channels == 1) && ((outinfo.block_len & 1) == 1) {
                     outinfo.block_len += 1;
                 }
                 if (outinfo.channels == 1) && ((outinfo.block_len & 1) == 1) {
                     outinfo.block_len += 1;
                 }
-                let mut ofmt = EncodeParameters::default();
+                let mut ofmt = *encinfo;
                 ofmt.format = NACodecTypeInfo::Audio(outinfo);
                 return Ok(ofmt);
             }
                 ofmt.format = NACodecTypeInfo::Audio(outinfo);
                 return Ok(ofmt);
             }
index 6ddae6485a4ffebafea4328936852994687272c0..f842297d2affedec3405031b90e7b4ac29bc8611 100644 (file)
@@ -410,7 +410,7 @@ impl NAEncoder for MSVideo1Encoder {
             NACodecTypeInfo::Audio(_) => return Err(EncoderError::FormatError),
             NACodecTypeInfo::Video(vinfo) => {
                 let outinfo = NAVideoInfo::new((vinfo.width + 3) & !3, (vinfo.height + 3) & !3, true, RGB555_FORMAT);
             NACodecTypeInfo::Audio(_) => return Err(EncoderError::FormatError),
             NACodecTypeInfo::Video(vinfo) => {
                 let outinfo = NAVideoInfo::new((vinfo.width + 3) & !3, (vinfo.height + 3) & !3, true, RGB555_FORMAT);
-                let mut ofmt = EncodeParameters::default();
+                let mut ofmt = *encinfo;
                 ofmt.format = NACodecTypeInfo::Video(outinfo);
                 Ok(ofmt)
             }
                 ofmt.format = NACodecTypeInfo::Video(outinfo);
                 Ok(ofmt)
             }