Support and General Use > Audio Playback, Database and Playlists

Clip+ playback: AAC/SBR 82 kbit/s - high pitch sound added

<< < (4/4)

Buschel:
grums, are you able to compile rockbox? I might have a clue what causes this decoder failure and how to fix it. Easiest way to verify this possible fix is if you apply a minor code change and recompile rockbox (simulator is sufficient).

Fix:
in apps/codecs/libfaad/sbr_hfgen.c, line 195

change "#define ACDET_EXP 2" to "#define ACDET_EXP 3"

Edit: Bug report added to flyspray -> http://www.rockbox.org/tracker/task/12019

grums:
Later today or tomorrow I might be able to compile a 3.7.1 (Clip+ firmware) or (Clip+ simulator running on Linux as Guest in VMware Player for Windows) - that's my system.
(I'm not sure if the problem exists on that simulator, I haven't used it for listening purposes...)
I'll post the result.

Buschel:
The problem exists in the simulation as well. The same code and fixed point algorithm is used. Just do what is easier for you. Thanks for supporting the verification!
The proposed change is very local. You will only need to build and replace aac.codec.

grums:
I've applied the change to a RB 3.7.1 Clip+ simulator, and the clip I sent you seems to playback OK now.
Is there a short (plain english) explanation to the problem/fix?
Thanks, Ole

Buschel:
Good news!

I'll try explain the fix: About 6 months ago I reworked this code section. The fixed point implementation was totally wrong and just worked by chance. The multiplied and added data has a 31 bit fract part. To avoid overflow when adding up the data I shifted the data by >>2 before the calculation and shifted the results back accordingly. The simple fact is: >>2 was not enough.

I could explain in more depth why 3 is the correct value. But I will not go into more detail right now.

Anyway, thanks for testing!

Edit: Fixed with r29622 on Trunk and r29623 on v3.8 branch

Navigation

[0] Message Index

[*] Previous page

Go to full version