X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-commonfmt%2Fsrc%2Fcodecs%2Faac.rs;h=85854206ab3e3470b4fe175027a14c17cbb6cea1;hb=fd8666bc8f48fd374571368cd4b9a0a42e3ea85b;hp=59cda6290b8166b219e32fc26fd52a30c83f2247;hpb=000e8a3bc5cf55b64e1e6bc2c95574d4472fe45d;p=nihav.git diff --git a/nihav-commonfmt/src/codecs/aac.rs b/nihav-commonfmt/src/codecs/aac.rs index 59cda62..8585420 100644 --- a/nihav-commonfmt/src/codecs/aac.rs +++ b/nihav-commonfmt/src/codecs/aac.rs @@ -556,14 +556,14 @@ impl Codebooks { fn new() -> Self { let mut coderead = TableCodebookDescReader::new(AAC_SCF_CODEBOOK_CODES, AAC_SCF_CODEBOOK_BITS, scale_map); let scale_cb = Codebook::new(&mut coderead, CodebookMode::MSB).unwrap(); - let mut spec_cb: [Codebook; 11]; - unsafe { - spec_cb = mem::MaybeUninit::uninit().assume_init(); - for i in 0..AAC_SPEC_CODES.len() { - let mut coderead = TableCodebookDescReader::new(AAC_SPEC_CODES[i], AAC_SPEC_BITS[i], cb_map); - ptr::write(&mut spec_cb[i], Codebook::new(&mut coderead, CodebookMode::MSB).unwrap()); - } - } + let spec_cb = unsafe { + let mut uspec_cb: mem::MaybeUninit::<[Codebook; 11]> = mem::MaybeUninit::uninit(); + for i in 0..AAC_SPEC_CODES.len() { + let mut coderead = TableCodebookDescReader::new(AAC_SPEC_CODES[i], AAC_SPEC_BITS[i], cb_map); + ptr::write(&mut (*uspec_cb.as_mut_ptr())[i], Codebook::new(&mut coderead, CodebookMode::MSB).unwrap()); + } + uspec_cb.assume_init() + }; Self { scale_cb, spec_cb } } }