pcm_record.c iAudioM5 FixRed

Share a bit of code in order to free up iRam for the iAudio M5

Change-Id: Ief05d2614a203df17821ed32b04f5c75a53ca08b
This commit is contained in:
William Wilgus 2021-08-10 07:56:33 -04:00
parent 4fb5aeb096
commit ee6b737b65
1 changed files with 23 additions and 15 deletions

View File

@ -888,21 +888,6 @@ copy_buffer_mono_lr(void *dst, const void *src, size_t src_size)
return dst;
}
/* Copy with mono conversion - output 1/2 size of input */
static void * ICODE_ATTR
copy_buffer_mono_l(void *dst, const void *src, size_t src_size)
{
int16_t *d = (int16_t*)dst;
int16_t const *s = (int16_t const*)src - 2;
ssize_t copy_size = src_size;
/* mono = L */
do
*d++ = *(s += 2);
while ((copy_size -= PCM_SAMP_SIZE) > 0);
return dst;
}
/* Copy with mono conversion - output 1/2 size of input */
static void * ICODE_ATTR
copy_buffer_mono_r(void *dst, const void *src, size_t src_size)
@ -918,6 +903,29 @@ copy_buffer_mono_r(void *dst, const void *src, size_t src_size)
return dst;
}
#if 1
static void * ICODE_ATTR
copy_buffer_mono_l(void *dst, const void *src, size_t src_size)
{
return copy_buffer_mono_r(dst, src -1, src_size);
}
#else
/* Copy with mono conversion - output 1/2 size of input */
static void * ICODE_ATTR
copy_buffer_mono_l(void *dst, const void *src, size_t src_size)
{
int16_t *d = (int16_t*)dst;
int16_t const *s = (int16_t const*)src - 2;
ssize_t copy_size = src_size;
/* mono = L */
do
*d++ = *(s += 2);
while ((copy_size -= PCM_SAMP_SIZE) > 0);
return dst;
}
#endif
/** pcm_rec_* group **/