Skip to content

Conversation

@jepler
Copy link
Contributor

@jepler jepler commented Jun 17, 2020

In #9 an optimization of the recurring code snippet ClipToShort((int)SAR64(sum1L, (32-CSHIFT)), DEF_NFRACBITS); was implemented. However, the new function SAR64_Clip didn'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.

@ladyada
Copy link
Member

ladyada commented Jun 17, 2020

@jepler yay mystery solved!

@bitbank2 FYI

@ladyada ladyada merged commit 4b5646f into adafruit:master Jun 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Apparent arithmetic overflow causes pops during playback

2 participants