forked from len0rd/rockbox
Make clipping detection more sensitive for swcodec platforms by triggering on the first peak value
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8962 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
35dcf909a1
commit
311f73264b
1 changed files with 11 additions and 1 deletions
|
|
@ -563,16 +563,26 @@ void peak_meter_peek(void)
|
||||||
of the volume are at full scale. This is proven
|
of the volume are at full scale. This is proven
|
||||||
to be inaccurate in both ways: it may detect clips
|
to be inaccurate in both ways: it may detect clips
|
||||||
when no clip occurred and it may fail to detect
|
when no clip occurred and it may fail to detect
|
||||||
a real clip. */
|
a real clip. For software codecs, the peak is already
|
||||||
|
the max of a bunch of samples, so use one max value
|
||||||
|
or you fail to detect clipping! */
|
||||||
|
#if CONFIG_CODEC == SWCODEC
|
||||||
|
if (left == MAX_PEAK - 1) {
|
||||||
|
#else
|
||||||
if ((left == pm_max_left) &&
|
if ((left == pm_max_left) &&
|
||||||
(left == MAX_PEAK - 1)) {
|
(left == MAX_PEAK - 1)) {
|
||||||
|
#endif
|
||||||
pm_clip_left = true;
|
pm_clip_left = true;
|
||||||
pm_clip_timeout_l =
|
pm_clip_timeout_l =
|
||||||
current_tick + clip_time_out[pm_clip_hold];
|
current_tick + clip_time_out[pm_clip_hold];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if CONFIG_CODEC == SWCODEC
|
||||||
|
if (right == MAX_PEAK - 1) {
|
||||||
|
#else
|
||||||
if ((right == pm_max_right) &&
|
if ((right == pm_max_right) &&
|
||||||
(right == MAX_PEAK - 1)) {
|
(right == MAX_PEAK - 1)) {
|
||||||
|
#endif
|
||||||
pm_clip_right = true;
|
pm_clip_right = true;
|
||||||
pm_clip_timeout_r =
|
pm_clip_timeout_r =
|
||||||
current_tick + clip_time_out[pm_clip_hold];
|
current_tick + clip_time_out[pm_clip_hold];
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue