pcm_utils: add function pcm_end_pointer()
This commit is contained in:
parent
f1da118a6c
commit
0debe9bd6f
@ -22,6 +22,7 @@
|
|||||||
#include "pcm_dither.h"
|
#include "pcm_dither.h"
|
||||||
#include "pcm_buffer.h"
|
#include "pcm_buffer.h"
|
||||||
#include "pcm_pack.h"
|
#include "pcm_pack.h"
|
||||||
|
#include "pcm_utils.h"
|
||||||
|
|
||||||
static void
|
static void
|
||||||
pcm_convert_8_to_16(int16_t *out, const int8_t *in,
|
pcm_convert_8_to_16(int16_t *out, const int8_t *in,
|
||||||
@ -61,7 +62,7 @@ pcm_convert_to_16(struct pcm_buffer *buffer, struct pcm_dither *dither,
|
|||||||
enum sample_format src_format, const void *src,
|
enum sample_format src_format, const void *src,
|
||||||
size_t src_size, size_t *dest_size_r)
|
size_t src_size, size_t *dest_size_r)
|
||||||
{
|
{
|
||||||
const void *src_end = (const char *)src + src_size;
|
const void *src_end = pcm_end_pointer(src, src_size);
|
||||||
unsigned num_samples;
|
unsigned num_samples;
|
||||||
int16_t *dest;
|
int16_t *dest;
|
||||||
int32_t *dest32;
|
int32_t *dest32;
|
||||||
|
@ -24,6 +24,17 @@
|
|||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a byte count to the specified pointer. This is a utility
|
||||||
|
* function to convert a source pointer and a byte count to an "end"
|
||||||
|
* pointer for use in loops.
|
||||||
|
*/
|
||||||
|
static inline const void *
|
||||||
|
pcm_end_pointer(const void *p, size_t size)
|
||||||
|
{
|
||||||
|
return (const char *)p + size;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if the value is within the range of the provided bit size,
|
* Check if the value is within the range of the provided bit size,
|
||||||
* and caps it if necessary.
|
* and caps it if necessary.
|
||||||
|
Loading…
Reference in New Issue
Block a user