aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm_format.h
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-02-21 18:14:20 +0100
committerMax Kellermann <max@duempel.org>2009-02-21 18:14:20 +0100
commitf0554d9a75abab093fe5169bdab6b6b75ae4f97a (patch)
tree041e132660e2c6ea0865306d19d7a45314e0a7a8 /src/pcm_format.h
parentcae7c160a3084acf9e68845b16bae34772d18e4e (diff)
downloadmpd-f0554d9a75abab093fe5169bdab6b6b75ae4f97a.tar.gz
mpd-f0554d9a75abab093fe5169bdab6b6b75ae4f97a.tar.xz
mpd-f0554d9a75abab093fe5169bdab6b6b75ae4f97a.zip
pcm: added API documentation
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 628155dd4..32279faef 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,