-
Notifications
You must be signed in to change notification settings - Fork 706
Fixed off-by-one issue in Silk DTX #73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
1404fb4
to
93a525a
Compare
I don't know that one behaviour is better than the other. Is the current code causing issues? |
Nm, just read your explanation in issue #72 |
Is something holding the merge of this PL back? Is more information needed? |
Sorry for the delay. Looking at this now, do you already have some test code/sample for this or should I build one myself. (your patch looks sane, I just want to make sure I test it properly) |
No worries. |
I wrote a tiny test that shows the issue. It basically encodes zeros with DTX enabled. Please try it out at different complexity levels with and without my pull request.
Output at complexity level 7:
Output at complexity level 6 without pull request:
Output at complexity level 6 with pull request
As you can see from the output at complexity level <= 6 without the PL we enter DTX one frame too early and stay in DTX one frame too long. The intended behavior is pretty clear in the code (from silk/define.h):
|
merged |
xiph/opus#73 Bug: webrtc:8088 Change-Id: Ie3838e5c8600259af46bdf09680e58dcf55f78a2 Reviewed-on: https://chromium-review.googlesource.com/942317 Reviewed-by: Henrik Andreasson <henrika@chromium.org> Commit-Queue: Felicia Lim <flim@chromium.org> Cr-Commit-Position: refs/heads/master@{#540976}
Fixes an issue in Silk mode causing the codec going into DTX one frame too early.
#72