11#ifndef _PCM_STREAM_CHANNEL_MODIFIER_H_
12#define _PCM_STREAM_CHANNEL_MODIFIER_H_
22#include <zephyr/kernel.h>
26#define PSCM_MAX_CARRIER_BIT_DEPTH (32)
43 uint8_t pcm_bit_depth,
void *output,
size_t *output_size);
58int pscm_copy_pad(
void const *
const input,
size_t input_size, uint8_t pcm_bit_depth,
void *output,
72int pscm_combine(
void const *
const input_left,
void const *
const input_right,
size_t input_size,
73 uint8_t pcm_bit_depth,
void *output,
size_t *output_size);
90 uint8_t pcm_bit_depth,
void *output,
size_t *output_size);
109 void *output_left,
void *output_right,
size_t *output_size);
129 uint8_t pcm_bit_depth,
void *output,
size_t output_size,
130 uint8_t output_channels);
149 uint8_t channel, uint8_t pcm_bit_depth,
void *output,
size_t output_size);
audio_channel
Audio channel assignment values.
Definition audio_defines.h:25
Globally accessible audio related defines.
int pscm_interleave(void const *const input, size_t input_size, uint8_t channel, uint8_t pcm_bit_depth, void *output, size_t output_size, uint8_t output_channels)
Interleave a channel into a buffer of N channels of PCM.
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)
De-interleave a channel from a buffer of N channels of PCM.
int pscm_copy_pad(void const *const input, size_t input_size, uint8_t pcm_bit_depth, void *output, size_t *output_size)
Adds a copy of every sample from *input and writes it to both channels in *output.
int pscm_two_channel_split(void const *const input, size_t input_size, uint8_t pcm_bit_depth, void *output_left, void *output_right, size_t *output_size)
Splits a stereo stream to two separate mono streams.
int pscm_one_channel_split(void const *const input, size_t input_size, enum audio_channel channel, uint8_t pcm_bit_depth, void *output, size_t *output_size)
Removes every second sample from *input and writes it to *output.
int pscm_combine(void const *const input_left, void const *const input_right, size_t input_size, uint8_t pcm_bit_depth, void *output, size_t *output_size)
Combines two mono streams into one stereo stream.
int pscm_zero_pad(void const *const input, size_t input_size, enum audio_channel channel, uint8_t pcm_bit_depth, void *output, size_t *output_size)
Adds a 0 after every sample from *input and writes it to *output.