>> gain_shift;
if (unlikely(adjusted_sample > 32767)) {
adjusted_sample = 32767;
- pcd->current_gain = (pcd->current_gain +
- (1 << pcd->conf->inertia_arg)) / 2;
+ pcd->current_gain = (3 * pcd->current_gain +
+ (1 << pcd->conf->inertia_arg)) / 4;
pcd->peak = 0;
} else
if (adjusted_sample > pcd->peak)
>> gain_shift);
if (unlikely(adjusted_sample < -32768)) {
adjusted_sample = -32768;
- pcd->current_gain = (pcd->current_gain +
- (1 << pcd->conf->inertia_arg)) / 2;
+ pcd->current_gain = (3 * pcd->current_gain +
+ (1 << pcd->conf->inertia_arg)) / 4;
pcd->peak = 0;
} else
if (-adjusted_sample > pcd->peak)