diff options
Diffstat (limited to 'common/audio_codec.c')
-rw-r--r-- | common/audio_codec.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/common/audio_codec.c b/common/audio_codec.c index e21df5c039..43ba520707 100644 --- a/common/audio_codec.c +++ b/common/audio_codec.c @@ -7,6 +7,7 @@ #include "audio_codec.h" #include "console.h" #include "host_command.h" +#include "util.h" #define CPRINTS(format, args...) cprints(CC_AUDIO_CODEC, format, ## args) @@ -144,3 +145,13 @@ int audio_codec_memmap_ap_to_ec(uintptr_t ap_addr, uintptr_t *ec_addr) { return EC_ERROR_UNIMPLEMENTED; } + +int16_t audio_codec_s16_scale_and_clip(int16_t orig, uint8_t scalar) +{ + int32_t val; + + val = (int32_t)orig * (int32_t)scalar; + val = MIN(val, (int32_t)INT16_MAX); + val = MAX(val, (int32_t)INT16_MIN); + return val; +} |