X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-rad%2Fsrc%2Fcodecs%2Fbinkaud.rs;h=7848e7e461035b685f42f8db1f0f91b318e3a201;hb=fc39649daffd54a1f7277656f470df2751fcf620;hp=1cdb0a1ddbf2c7d6334414786946f8577606cdbf;hpb=78fb6560c73965d834b215fb0b49505ae5443288;p=nihav.git diff --git a/nihav-rad/src/codecs/binkaud.rs b/nihav-rad/src/codecs/binkaud.rs index 1cdb0a1..7848e7e 100644 --- a/nihav-rad/src/codecs/binkaud.rs +++ b/nihav-rad/src/codecs/binkaud.rs @@ -45,8 +45,8 @@ fn read_bink_float(br: &mut BitReader) -> DecoderResult { Ok(v) }*/ let exp = br.read(5)? as u8; - let mant = br.read(23)? as u32; - let sign = br.read(1)? as u32; + let mant = br.read(23)?; + let sign = br.read(1)?; let nexp = exp.wrapping_add(0x7E) as u32; let nmant = (mant << 1) & ((1 << 23) - 1); Ok(f32::from_bits((sign << 31) | (nexp << 23) | nmant)) @@ -308,6 +308,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); rad_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/game-formats/bink/ActivisionLogo.bik let file = "assets/RAD/ActivisionLogo.bik"; test_decode_audio("bink", file, None, None/*Some("bink")*/, &dmx_reg, &dec_reg); } @@ -318,6 +319,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); rad_register_all_decoders(&mut dec_reg); + // sample from Heroes of Might and Magic 3 let file = "assets/RAD/NWCLOGO.BIK"; test_decode_audio("bink", file, None, None/*Some("bink")*/, &dmx_reg, &dec_reg); }