summaryrefslogtreecommitdiff
path: root/firmware/pcm_sw_volume.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/pcm_sw_volume.c')
-rw-r--r--firmware/pcm_sw_volume.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/firmware/pcm_sw_volume.c b/firmware/pcm_sw_volume.c
index 29049059e6..7322269f44 100644
--- a/firmware/pcm_sw_volume.c
+++ b/firmware/pcm_sw_volume.c
@@ -51,10 +51,10 @@ static typeof (memcpy) *pcm_scaling_fn = NULL;
51#define PCM_F_T int64_t /* Requires large integer math */ 51#define PCM_F_T int64_t /* Requires large integer math */
52#endif /* PCM_SW_VOLUME_FRACBITS */ 52#endif /* PCM_SW_VOLUME_FRACBITS */
53 53
54/* Scale and round sample by PCM factor */ 54/* Scale sample by PCM factor */
55static inline int32_t pcm_scale_sample(PCM_F_T f, int32_t s) 55static inline int32_t pcm_scale_sample(PCM_F_T f, int32_t s)
56{ 56{
57 return (f * s + (PCM_F_T)PCM_FACTOR_UNITY/2) >> PCM_SW_VOLUME_FRACBITS; 57 return (f * s) >> PCM_SW_VOLUME_FRACBITS;
58} 58}
59 59
60/* Both UNITY, use direct copy */ 60/* Both UNITY, use direct copy */