1
0
Fork 0
forked from len0rd/rockbox

Use Tremor IMDCT for WMA. Gives a ~20% speedup on ARM and coldfire. All my test samples gave equivilent or better accuracy (>>16 bit), but there may still be problems. Code becomes somewhat less readable since the IMDCT has bits of Vorbis in it, but this is not a serious issue and the old ffmpeg transform remains in SVN if anyone wants it. Also, WMA now passes Vorbis as the fastest transform codec on ARM, although MPC remains the fastest lossy codec overall.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18084 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Michael Giacomelli 2008-07-17 17:43:49 +00:00
parent 5356e6205b
commit 1334738071
15 changed files with 2584 additions and 91 deletions

View file

@ -303,7 +303,7 @@ static bool dbg_buffering_thread(void)
lcd_setfont(FONT_SYSFIXED);
while(!done)
{
button = get_action(CONTEXT_STD,HZ/5);
button = get_action(CONTEXT_STD,HZ*2);
switch(button)
{
case ACTION_STD_NEXT:
@ -2041,9 +2041,9 @@ static int database_callback(int btn, struct gui_synclist *lists)
simplelist_addline(SIMPLELIST_ADD_LINE, "Commit delayed: %s",
stat->commit_delayed ? "Yes" : "No");
simplelist_addline(SIMPLELIST_ADD_LINE, "Queue length: %d",
simplelist_addline(SIMPLELIST_ADD_LINE, "Queue length: %d",
stat->queue_length);
if (synced)
{
synced = false;
@ -2068,7 +2068,7 @@ static bool dbg_tagcache_info(void)
info.action_callback = database_callback;
info.hide_selection = true;
info.scroll_all = true;
/* Don't do nonblock here, must give enough processing time
for tagcache thread. */
/* info.timeout = TIMEOUT_NOBLOCK; */
@ -2428,7 +2428,7 @@ static bool dbg_isp1583(void)
struct simplelist_info isp1583;
isp1583.scroll_all = true;
simplelist_info_init(&isp1583, "ISP1583", dbg_usb_num_items(), NULL);
isp1583.timeout = HZ/100;
isp1583.timeout = HZ/100;
isp1583.hide_selection = true;
isp1583.get_name = dbg_usb_item;
isp1583.action_callback = isp1583_action_callback;
@ -2453,7 +2453,7 @@ static bool dbg_pic(void)
struct simplelist_info pic;
pic.scroll_all = true;
simplelist_info_init(&pic, "PIC", pic_dbg_num_items(), NULL);
pic.timeout = HZ/100;
pic.timeout = HZ/100;
pic.hide_selection = true;
pic.get_name = pic_dbg_item;
pic.action_callback = pic_action_callback;