aboutsummaryrefslogtreecommitdiff
path: root/src/pcm_format.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pcm_format.h')
-rw-r--r--src/pcm_format.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/pcm_format.h b/src/pcm_format.h
index 628155dd..32279fae 100644
--- a/src/pcm_format.h
+++ b/src/pcm_format.h
@@ -25,11 +25,34 @@
struct pcm_buffer;
struct pcm_dither_24;
+/**
+ * Converts PCM samples to 16 bit. If the source format is 24 bit,
+ * then dithering is applied.
+ *
+ * @param buffer a pcm_buffer object
+ * @param dither a pcm_dither_24 object for 24-to-16 conversion
+ * @param bits the number of in the source buffer
+ * @param src the source PCM buffer
+ * @param src_size the size of #src in bytes
+ * @param dest_size_r returns the number of bytes of the destination buffer
+ * @return the destination buffer
+ */
const int16_t *
pcm_convert_to_16(struct pcm_buffer *buffer, struct pcm_dither_24 *dither,
uint8_t bits, const void *src,
size_t src_size, size_t *dest_size_r);
+/**
+ * Converts PCM samples to 24 bit (32 bit alignment).
+ *
+ * @param buffer a pcm_buffer object
+ * @param dither a pcm_dither_24 object for 24-to-16 conversion
+ * @param bits the number of in the source buffer
+ * @param src the source PCM buffer
+ * @param src_size the size of #src in bytes
+ * @param dest_size_r returns the number of bytes of the destination buffer
+ * @return the destination buffer
+ */
const int32_t *
pcm_convert_to_24(struct pcm_buffer *buffer,
uint8_t bits, const void *src,