nRF Connect SDK API 3.3.99
Loading...
Searching...
No Matches

◆ pscm_deinterleave()

int pscm_deinterleave ( void const *const input,
size_t input_size,
uint8_t input_channels,
uint8_t channel,
uint8_t pcm_bit_depth,
void * output,
size_t output_size )

#include <include/pcm_stream_channel_modifier.h>

De-interleave a channel from a buffer of N channels of PCM.

Note
: The de-interleaver can not be executed inplace (i.e. input != output)
Parameters
[in]inputPointer to the multi channel input buffer. Should be 4-bytes aligned.
[in]input_sizeNumber of bytes in input.
[in]input_channelsNumber of channels in the input buffer.
[in]channelChannel to de-interleave.
[in]pcm_bit_depthBit depth of PCM samples (8, 16, 24, or 32).
[out]outputPointer to the channel output. Should be 4-bytes aligned.
[in]output_sizeNumber of bytes in output. Must be at least (input_size / output_channels).
Returns
0 if successful, error value