This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#6848 - Optimizations to Vorbis codec
Attached to Project:
Rockbox
Opened by Tomasz Malesinski (tmal) - Sunday, 18 March 2007, 15:05 GMT+2
Last edited by Tomasz Malesinski (tmal) - Tuesday, 25 September 2007, 23:02 GMT+2
Opened by Tomasz Malesinski (tmal) - Sunday, 18 March 2007, 15:05 GMT+2
Last edited by Tomasz Malesinski (tmal) - Tuesday, 25 September 2007, 23:02 GMT+2
|
DetailsI made some optimizations to the Vorbis codec. vector.patch is only for ARM (it shouldn't change anything for Coldfire), others should make the codec slightly faster on all targets. I would like someone to check how these patches affect CPU boost ratio on Ipod and Coldfire based targets.
Please note bug |
This task depends upon
Closed by Tomasz Malesinski (tmal)
Tuesday, 25 September 2007, 23:02 GMT+2
Reason for closing: Accepted
Additional comments about closing: Two of the patches were committed. I'll take a look at coupling.patch and possibly resubmit it later. Meanwhile I have some new patches.
Tuesday, 25 September 2007, 23:02 GMT+2
Reason for closing: Accepted
Additional comments about closing: Two of the patches were committed. I'll take a look at coupling.patch and possibly resubmit it later. Meanwhile I have some new patches.
FS#6847and didn't notice it :(Ok, ran the test again and boost ration now drops to 36%. Nice improvement!
The codebook patch had a problem, all music had turned into horrible noise, but the boost dropped about 10% on one test track with both patches :-)
edit: it works fine in the sim, maybe an endian issue?
the letoh32() macro when ptr[] is accessed like preglow suggested so it should
still work fine on little endian devices too.
I did a little testing on my h300.
The firs number is boost ratio with a current svn build and the second is with the codebook patch.
Jewel of the summertime (q4) 16% 11%
Sabbath bloody sabbath (q6) 21% 12%
Ölstugan som inte finns (q4) 10% 6%
Sylvain, did you notice the difference with only the coupling patch applied? I looked at the patch and could not find any bug, I also checked the output with and without the patch and could not see the difference. Could you provide me with a file that exposes the problem?
applying only codebook.patch and vector.patch does not seem to affect the audio output quality; applying coupling.patch, alone or at the same time than the two others had a significant impact in my case. Here are a few clips for you to listen to:
http://www.filesend.net/download.php?f=0cd14e2767ea406ba54d45e4bcad96dc
I am not sure how much of the real hardware rockboxui emulates or simulates (I am pretty new to Rockbox), but the audiodump it generates is flawless, unlike what I hear on the real thing unfortunately, so I am not sure any of your code is even wrong... I should probably point out that the decoding of a vorbis stream encoded at higher quality (-q 3 for instance) is not affected by your patch from an audio standpoint... I wish I could help you more.
I wonder if using ARM's conditional instructions could result in smaller/faster coupling code. (I haven't seen the output of gcc for the coupling code though)