Function audio_codec_algorithms::decode_adpcm_ima_ms
source · pub fn decode_adpcm_ima_ms(
buf: &[u8],
is_stereo: bool,
out_samples: &mut [i16],
) -> Result<(), Error>Expand description
Decodes WAV / MS IMA ADPCM (wav format 0x0011) compressed block to 16-bit signed integer samples.
buf should contain header bytes (predictor and step index) and bytes of 4-bit encoded
samples. For 1 channel audio, the buf length must be at least 4. For 2 channel audio,
the buf length must be at least 8 and it must be divisible by 8.
The buf length must always be less than 65536.
is_stereo should be false for 1 channel (mono) audio and true for
2 channel (stereo) audio.
This function outputs decoded samples to out_samples. The out_samples length must be
2 * buf.len() - 7 for 1 channel audio and 2 * buf.len() - 14 for 2 channel audio.
Samples are interleaved for 2 channel audio.
An error is returned if the buf or out_samples length isn’t correct.
If an error is returned, out_samples is left unmodified.