X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-ms%2Fsrc%2Fcodecs%2Fmsvideo1enc.rs;h=8a6281d6217718985cb00bbe8ba41586abce1a6e;hb=25fd05c73b167f37e58ec5601846f9b77e2d03a4;hp=ff6189b24427ec06bef063fa5b43f12f186bdf94;hpb=a480a0de101483d802a11e72d758dae00fa4860a;p=nihav.git diff --git a/nihav-ms/src/codecs/msvideo1enc.rs b/nihav-ms/src/codecs/msvideo1enc.rs index ff6189b..8a6281d 100644 --- a/nihav-ms/src/codecs/msvideo1enc.rs +++ b/nihav-ms/src/codecs/msvideo1enc.rs @@ -50,7 +50,8 @@ impl VQElement for Pixel16 { for i in 0..31 { offs[i + 1] = offs[i] + counts[i]; } - let mut dst = vec![Pixel16(0); arr.len()]; + let mut dst = [Pixel16(0); 16]; + assert!(dst.len() >= arr.len()); for pix in arr.iter() { let (r, g, b) = pix.unpack(); let idx = match component { @@ -61,7 +62,8 @@ impl VQElement for Pixel16 { dst[offs[idx]] = *pix; offs[idx] += 1; } - arr.copy_from_slice(dst.as_slice()); + let len = arr.len(); + arr.copy_from_slice(&dst[..len]); } fn max_dist_component(min: &Self, max: &Self) -> usize { let (r0, g0, b0) = max.unpack(); @@ -571,6 +573,6 @@ mod test { }; //test_encoding_to_file(&dec_config, &enc_config, enc_params); test_encoding_md5(&dec_config, &enc_config, enc_params, - &[0x8f0d3f66, 0xb91a6ee5, 0x59e4933e, 0x59c6fb0b]); + &[0x0fc27a11, 0x04337f5d, 0xb8037362, 0xc4f69d8b]); } }