This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#11256 - true audio (TTA) codec
Attached to Project:
Rockbox
Opened by Yoshihisa Uchida (Uchida) - Sunday, 09 May 2010, 10:26 GMT+2
Last edited by Yoshihisa Uchida (Uchida) - Thursday, 13 May 2010, 15:30 GMT+2
Opened by Yoshihisa Uchida (Uchida) - Sunday, 09 May 2010, 10:26 GMT+2
Last edited by Yoshihisa Uchida (Uchida) - Thursday, 13 May 2010, 15:30 GMT+2
|
DetailsThis patch is the true audio (tta) decoder.
*** NOTICE *** 1) This codec is confirmed only on iPod photo/video.(I can confirm these players only) 2) There is a possibility that a big problems occur because I don't test enough. 3) under the slow cpu, the sound might be able to tune off sometimes. *** PERFORMANCE *** ARM cpu 137 - 138 % (44.1 kHz) (on iPod photo/video) other cpu unknown Operation verification according to a lot of testers, please. |
This task depends upon
Closed by Yoshihisa Uchida (Uchida)
Thursday, 13 May 2010, 15:30 GMT+2
Reason for closing: Accepted
Additional comments about closing: patch commits and the manual updates.
Thursday, 13 May 2010, 15:30 GMT+2
Reason for closing: Accepted
Additional comments about closing: patch commits and the manual updates.
http://www.rockbox.org/irc/log-20100510#00:57:29
I tried removing the extra letoh32/letoh16 calls, and it works on ARM, but so far no one has tested this on Coldfire to see if it fixes the problem.
I'll look into assemblerising the filter for coldfire. EMAC should help a lot :)
hybrid_filter() is a very slow function, and If this function is not executed, decode speed becomes twice or more.
However, the speed doesn't change so much even if it rewrite by assembler (in ARM, C to asm about 7 - 8 % speed up at most)
I think that it is necessary to optimize more for not hybrid_filter() but get_samples().
I expect that moving tta[] to IRAM will improve the decoding speed quite a lot.
Edit: Forget about my guess. This will speed up decoding by only ~1.4 MHz (unpatched needs 57.5 MHz) on a PP502x.
However, I do think this work should be done after committing the current patch to svn. Much easier for others to help this way :)
on iPod video, about +5 % spped up.
But, it is to slow oppositely according to the player.
changes:
get_samples: rice update logic is changed to the function (update_rice()).
maybe all targets speed up.
on iPod, + 8 - 9 % speed up against yesterday's patch (i.e., decoding speed is 152 - 153 %)
changes:
get_samples: The decoding logic is optimized by using that the max channels is 2.
tta_info: deletes HANDLE
please, problems concerning TTA must open as other tasks.
After I update the manual, I will close this task.