X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-vivo%2Fsrc%2Fcodecs%2Fsiren.rs;h=79c821b95da7c6048d2cf974515db3bb8d2c6136;hb=494ad253e745d90795e6e1bbce622e4d2a1ef7e6;hp=a9a1e2e4fe068f5c54119b5e579aa19bce3ec7ea;hpb=31cf33aceca7798294e1ce5c01702ef5e6ef7adc;p=nihav.git diff --git a/nihav-vivo/src/codecs/siren.rs b/nihav-vivo/src/codecs/siren.rs index a9a1e2e..79c821b 100644 --- a/nihav-vivo/src/codecs/siren.rs +++ b/nihav-vivo/src/codecs/siren.rs @@ -89,7 +89,7 @@ impl SirenDecoder { let vec_cb = [vec_cb0, vec_cb1, vec_cb2, vec_cb3, vec_cb4, vec_cb5, vec_cb6]; let mut window = [0.0f32; SAMPLES]; - generate_window(WindowType::Sine, 1.0 / 320.0 / 8.0, SAMPLES, true, &mut window); + generate_window(WindowType::Sine, 1.0 / 320.0 / 64.0, SAMPLES, true, &mut window); let mut quant_tab = [0.0; 64]; for i in 0..64 { @@ -203,9 +203,7 @@ impl SirenDecoder { self.power_cat = max_rate_cat; - for i in 0..MAX_RC { - self.cat_balance[i] = temp_cat[max_offset + i]; - } + self.cat_balance[..MAX_RC].copy_from_slice(&temp_cat[max_offset..][..MAX_RC]); for cat in self.cat_balance.iter().take(rate_ctl) { self.power_cat[*cat] += 1; @@ -228,7 +226,7 @@ impl SirenDecoder { 'vec_loop: for i in 0..num_vecs { let ret = br.read_cb(cb); - if let Err(_) = ret { + if ret.is_err() { error = true; break 'vec_loop; } @@ -382,6 +380,12 @@ impl NADecoder for SirenDecoder { } } +impl NAOptionHandler for SirenDecoder { + fn get_supported_options(&self) -> &[NAOptionDefinition] { &[] } + fn set_options(&mut self, _options: &[NAOption]) { } + fn query_option_value(&self, _name: &str) -> Option { None } +} + pub fn get_decoder() -> Box { Box::new(SirenDecoder::new()) }