Restore sample clipping #16
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In #9 an optimization of the recurring code snippet
ClipToShort((int)SAR64(sum1L, (32-CSHIFT)), DEF_NFRACBITS);was implemented. However, the new functionSAR64_Clipdidn't actually function the same as the original, because they differ in how out-of-range values are treated: SAR64_Clip actually just masks off the high bits, while ClipToShort clips out of bound values to the minimum and maximum.This closes #12.
Testing performed: ran the standalone test and did NOT see any reports of "likely overflows". Listened to the "Carpeter" track in a custom build of CircuitPython with this version of the mp3 library and it sounded right too.