

Seconds: Show Hide | Joins: Show Hide | View raw



#rockbox log for 2010-01-01

00:00:05ffwdim using it while exercising
00:00:08ffwdon my bike etc
00:00:16GodEaterbarely ever take it out of my pocket
00:00:18ffwdi cant have a touchscreen either
00:00:22BagderI rarely rewind just a little bit
00:00:58GodEateruntil a developer actually misses it, it's really not going to get implemented
00:01:22ffwdim old school
00:05:33ffwdalright thanks guys
00:05:39ffwdill check back in 6 mos ;)
00:05:44 Quit ffwd ("CGI:IRC")
00:13:22***Saving seen data "./dancer.seen"
00:16:31 Quit GeekShado_ (Read error: 110 (Connection timed out))
00:23:31 Quit Zagor ("Leaving")
00:24:18 Join advcomp2019_ [0] (n=advcomp2@unaffiliated/advcomp2019)
00:25:10 Quit advcomp2019__ (Read error: 54 (Connection reset by peer))
00:25:10 Quit scorche (Read error: 54 (Connection reset by peer))
00:25:58 Join scorche [50] (n=scorche@rockbox/administrator/scorche)
00:29:19 Quit StealthyXIIGer (Read error: 60 (Operation timed out))
00:30:19 Quit Bagder ("It is time to say moo")
00:43:45 Quit rhodan (Read error: 60 (Operation timed out))
00:57:45 Quit FlynDice (Remote closed the connection)
01:00:51 Join FlynDice [0] (
01:18:25 Quit froggyman (Read error: 104 (Connection reset by peer))
01:58:01 Quit mt (Read error: 60 (Operation timed out))
02:10:50 Quit domonoky1 (Read error: 104 (Connection reset by peer))
02:13:24***Saving seen data "./dancer.seen"
02:35:58 Quit togetic (Read error: 110 (Connection timed out))
03:16:14 Join CaptainKewl [0] (
03:17:10 Join GeekShado_ [0] (
03:20:07 Quit JdGordon1 (Read error: 110 (Connection timed out))
03:23:16 Quit efyx (Read error: 110 (Connection timed out))
03:28:20 Join Strife89 [0] (
03:29:02 Quit GeekShadow (Read error: 110 (Connection timed out))
03:30:09 Quit dfkt ("-= SysReset 2.53=- Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.")
03:40:22 Join GeekShadow [0] (n=Antoine@reactos/tester/GeekShadow)
03:51:45 Quit GeekShado_ (Read error: 110 (Connection timed out))
03:59:29 Quit toffe82 ("ChatZilla 0.9.86 [Firefox 3.5.6/20091201220228]")
04:02:15 Join dys` [0] (
04:02:53 Join bba1973 [0] (
04:05:44bba1973I've got an issue with my 60GB iPod Photo running 3.4. The battery percentage is displayed correctly, but it tells me I have 140 hours or another ridiculously high number for the remaining time. It does this with the daily builds too, but it worked fine with 3.3. Any ideas how to fix this?
04:13:28***Saving seen data "./dancer.seen"
04:17:59 Quit dys (Read error: 110 (Connection timed out))
04:33:35 Quit bba1973 ("CGI:IRC")
04:35:55 Quit Strife89 ("Happy New Year!")
04:40:48 Quit DerPapst ("Leaving.")
04:44:47 Join lasc [0] (i=Saint@
04:49:33 Join Barahir_ [0] (
04:55:14 Part lasc
04:58:27 Join efyx [0] (
05:02:15 Join dys`` [0] (
05:06:31 Quit Barahir (Read error: 110 (Connection timed out))
05:06:56 Join Saint_ [0] (i=Saint@
05:07:15 Nick Saint_ is now known as Guest35908 (i=Saint@
05:07:21 Part Guest35908
05:09:11 Quit Spaceghost (Read error: 110 (Connection timed out))
05:13:56 Join Spaceghost [0] (i=quassel@unaffiliated/spaceghost)
05:15:19 Quit dys` (Read error: 110 (Connection timed out))
05:17:33 Quit GeekShadow ("The cake is a lie !")
05:33:26 Join LambdaCalculus37 [0] (n=rmenes@rockbox/staff/LambdaCalculus37)
06:12:09 Quit efyx (Remote closed the connection)
06:13:29***Saving seen data "./dancer.seen"
06:15:03 Join Strife89 [0] (
06:31:14 Part Strife89 ("Closed the channel tab.")
06:37:54 Quit shai ("Leaving")
06:39:54 Quit dmb (Read error: 60 (Operation timed out))
06:47:39 Join mahoney [0] (
06:57:49 Quit mahoney (Read error: 60 (Operation timed out))
07:04:49 Join mahoney [0] (
07:22:52 Quit LambdaCalculus37 ("This computer has gone to sleep")
07:34:59 Join dmb [0] (n=Dmb@unaffiliated/dmb)
07:37:23 Quit CaptainKewl (Remote closed the connection)
07:37:50 Quit fdinel ("Miranda IM! Smaller, Faster, Easier.")
08:04:14 Join AndyIL [0] (n=pasha_in@
08:13:32***Saving seen data "./dancer.seen"
08:16:48 Quit AndyI (Read error: 110 (Connection timed out))
08:27:23 Quit mc2739 (Read error: 110 (Connection timed out))
08:28:20 Join Falco98 [0] (
08:29:10Falco98happy new year all
08:33:05 Join Space [0] (
08:39:24 Join tomers [0] (
08:48:52 Join FlynDice_ [0] (n=FlynDice@
08:49:17 Quit Spaceghost (Read error: 110 (Connection timed out))
08:52:43 Nick Space is now known as Spaceghost (
09:11:56 Quit gevaerts (Nick collision from services.)
09:12:08 Join gevaerts [0] (n=fg@rockbox/developer/gevaerts)
09:17:52 Join froggyman [0] (
09:20:12 Join LambdaCalculus37 [0] (n=rmenes@rockbox/staff/LambdaCalculus37)
09:24:35 Quit LambdaCalculus37 (Client Quit)
09:37:18 Join grahack [0] (
09:39:05 Part froggyman
09:49:11 Join mt [0] (n=chatzill@
10:10:24Spaceghostfinally? why rockbox can't run on it?
10:10:31Spaceghostmay be in the future will can?
10:11:42Spaceghostsomeone are interested to port on it?
10:13:35***Saving seen data "./dancer.seen"
10:15:33topikif someone was interested and able, there would be development
10:17:02topikkeep an eye on for progress
10:19:37Spaceghostbecause I can buy that for the same price of sansa e250 with 2g of storage
10:20:04Spaceghostand that have 4gb, wifi and more screen
10:20:15Spaceghostbut if I can't run rocbox...
10:23:36 Join Tomis [0] (n=Tomis@
10:25:37topikrockbox doesn't have a network stack afaik so wifi would not help you anything
10:28:55topikperhaps try and find a V1 Sansa Fuze. it seems to have a similar screen to the Connect
10:33:42 Join stoffel [0] (
10:37:56 Quit Tomis (Read error: 60 (Operation timed out))
10:48:50Spaceghostwhat is the meaning of MTP?
10:59:35Spaceghostoh... now I understand
10:59:39Spaceghostthanks topik
11:07:01amiconnUnhelpful: What target were these 96.9% realtime measured on?
11:12:48 Join webguest83 [0] (
11:13:01 Quit dsmith (Read error: 60 (Operation timed out))
11:15:22 Quit webguest83 (Client Quit)
11:20:05 Quit mt (Remote closed the connection)
11:27:30 Join Willy [0] (n=chatzill@
11:28:49WillyHow much code would it take for this? −−- When RB detects full charge a program is executed on the host computer.
11:37:28 Join bmbl [0] (n=Miranda@unaffiliated/bmbl)
11:49:45 Join Tomis [0] (n=Tomis@
12:00:40 Join kaniini [0] (
12:03:51 Join pjm0616 [0] (n=user@
12:05:47 Quit lifeless_ ("Ex-Chat")
12:11:32 Join liar [0] (n=liar@
12:13:39***Saving seen data "./dancer.seen"
12:27:38 Join togetic [0] (n=togetic@unaffiliated/ibuffy)
12:28:55 Quit Lss (Read error: 104 (Connection reset by peer))
12:29:19 Join Lss [0] (
12:32:41 Quit Falco98 ("ChatZilla 0.9.86 [Firefox 3.5.6/20091201220228]")
12:35:04 Quit Spaceghost (Read error: 104 (Connection reset by peer))
12:46:51 Join MethoS- [0] (n=clemens@
13:39:58 Join stoffel_ [0] (
13:40:02 Join pamaury [0] (
13:40:10*amiconn pings JdGordon
13:41:14 Join S_a_i_n_t [0] (i=Saint@
13:42:44 Join DerPapst [0] (
13:43:27 Part S_a_i_n_t
13:45:18 Join PaulJam [0] (
13:51:37 Quit grahack ("Tu m'as vu ?")
13:53:45 Join S_a_i_n_t [0] (i=Saint@
13:53:55 Join FOAD_ [0] (
13:54:18 Part S_a_i_n_t
13:54:23 Join S_a_i_n_t [0] (i=Saint@
13:54:30 Part S_a_i_n_t
14:07:59 Quit FOAD (Read error: 110 (Connection timed out))
14:08:00 Nick FOAD_ is now known as FOAD (
14:09:16 Join soap_ [50] (n=soap@rockbox/staff/soap)
14:10:12 Quit soap (Read error: 110 (Connection timed out))
14:13:40***Saving seen data "./dancer.seen"
14:16:27 Nick fxb__ is now known as fxb (
14:22:53*pixelma experienced on her M5 and found yet another dependency (together with amiconn)
14:26:49 Join GeekShadow [0] (n=Antoine@reactos/tester/GeekShadow)
14:27:58 Quit Willy (Nick collision from services.)
14:28:24 Join Willy [0] (
14:28:53 Quit Willy (Client Quit)
14:40:27 Quit tomers (Remote closed the connection)
14:45:24Unhelpfulamiconn: that was the ape_normal sample on my e200
14:50:02 Join Omlet^away [0] (
14:52:39Unhelpfuli think i can see a better way to handle the too-large numerator case... shift it right one if the high bit is set, saving the low bit and an indicator that the shift was done. after the 31-bit division produces its remainder and quotient, shift both left 1, add the dropped bit back into the remainder, and check to see if the remainder now exceeds the divisor. a test and bx can precede all of this so that the 31-bit case is only slowed dow
14:52:39Unhelpful cycles used for the initial sign-bit test and skipping the instructions to do the shift/save
14:56:13*amiconn wonders why the gain is so small then
15:04:46Unhelpfulamiconn: i'm kind of surprised that it wasn't a larger improvement, if there are 3 divides per sample output. only the loop part of the division gains any speed, though, the setup is a good number of cycles itself, so while the trial subtractions are 1/3 faster there's a significant number of cycles spent normalizing the divisor, and testing for special cases.
15:28:05TorneDoes anyone object to me adding strlcat from openbsd, to go with strlcpy?
15:36:37 Join TyHi [0] (
15:36:57TyHidose any one know when the rockbox will come out on the nano 4g
15:37:35 Quit liar (Read error: 113 (No route to host))
15:37:54 Quit TyHi (Client Quit)
15:56:40 Join efyx [0] (
16:04:10 Join domonoky [0] (n=Domonoky@rockbox/developer/domonoky)
16:11:19 Quit stoffel_ (Read error: 113 (No route to host))
16:12:25 Join bluebrother [0] (
16:12:25 Quit bluebroth3r (Read error: 104 (Connection reset by peer))
16:13:43***Saving seen data "./dancer.seen"
16:14:07 Quit Utchybann (Read error: 60 (Operation timed out))
16:23:04 Join JdGordon1 [0] (
16:23:46 Join mc2739 [0] (n=mc2739@rockbox/developer/mc2739)
16:27:05 Join rhodan [0] (
16:30:21 Join CaptainKewl [0] (
16:35:30 Quit soap_ (Remote closed the connection)
16:37:40 Join soap [50] (n=soap@rockbox/staff/soap)
16:45:36 Quit JdGordon1 (Read error: 60 (Operation timed out))
17:24:33 Join Kitar|st [0] (
17:28:27 Join stripwax [0] (
17:28:44 Quit stripwax (Client Quit)
17:30:09 Join stripwax [0] (
17:48:41 Quit FlynDice_ (Remote closed the connection)
18:06:41 Quit pamaury ("exit(*(int *)0 / 0);")
18:11:20 Join liar [0] (n=liar@
18:12:46 Quit stoffel (Read error: 60 (Operation timed out))
18:13:47***Saving seen data "./dancer.seen"
18:17:40 Join niekie [0] (i=quasselc@CAcert/Assurer/niekie)
18:19:29 Join mt_ [0] (n=mtee@
18:22:27 Join bertrik [0] (
18:30:07 Quit PaulJam (Read error: 60 (Operation timed out))
18:33:45 Quit DerPapst ("Leaving.")
18:33:55 Join pamaury [0] (
18:40:57 Quit jordan`` (Read error: 110 (Connection timed out))
18:41:51 Quit mt_ (Read error: 104 (Connection reset by peer))
18:56:41 Join froggyman [0] (
19:08:10 Join saratoga_ [0] (i=9803c57f@gateway/web/freenode/x-eofwjyiazqjtnxel)
19:09:16 Quit saratoga_ (Client Quit)
19:24:02 Join merbanan [0] (
19:34:15pamaurygevaerts: I saw a bug report you submit one year ago about cut/paste failing between volumes ? Does this bug still exists ?
19:34:55 Join stoffel [0] (
19:36:23saratogapamaury: how is the mtp work going?
19:36:23 Quit Kitar|st (Connection timed out)
19:38:05gevaertspamaury: I haven't tested recently, but I also haven't seen any related commit
19:39:13pamauryDidn't have much time but I fixed the last embarassing bug about windows not being able to browse files. I also rewote delete request so I think it's a quite solid basis. Concerning mtp, if I want to commit, it should not be enabled by default I think, should I tweak configure to enable or disable and have a HAVE_MTP define ?
19:39:51pamaurygevaerts: how many files you used ? Just one or a folder ? How many times before failure ? I can't reprocuce it on my e200.
19:42:58 Quit amiconn (Nick collision from services.)
19:42:59 Join amiconn_ [0] (i=quassel@rockbox/developer/amiconn)
19:43:19 Nick amiconn_ is now known as amiconn (i=quassel@rockbox/developer/amiconn)
19:43:22saratogaputting a define in the config-taget_name files is the most common way to enable a feature like that (we use it for software for instance)
19:44:56 Quit pixelma (Nick collision from services.)
19:44:57 Join pixelma_ [0] (i=quassel@rockbox/staff/pixelma)
19:45:12 Nick pixelma_ is now known as pixelma (i=quassel@rockbox/staff/pixelma)
19:45:40pamauryYou mean I protect with, say HAVE_MTP and then I define HAVE_MTP in config-e200.h for example ?
19:46:12pamauryThere is also the unsolved problem of how to select between MSC and MTP and other usb drivers.
19:46:35 Join rhodan_ [0] (
19:48:12saratogacouldn't it just be a menu option?
19:48:22*pamaury just got a random data abort on his e200 :(
19:48:59gevaertspamaury: I can't remember the details. Do you have the FS number handy?
19:49:32pamaurygevaerts: 9409
19:50:12pamauryYes it should be but how to choose between the various possibilities. We had a discussion and I don't remember what exactly was the output of it
19:53:20 Quit faemir ("Leaving")
19:53:38gevaertspamaury: I think it was somewhere between 10 and 20 files. You have to do individual cut/paste operations, i.e. one file at a time. I did all in the same direction. Note that copy/paste doesn't have the issue
19:54:15pamauryOk, I tried a whole directory with cut/paste and no problem. I'll retry
19:55:03gevaertsI don't know if dircache is related
19:56:00pamauryI was about to ask you if it was enabled or not
19:57:14gevaertsI would guess not, at least on my ipod mini test, since that test required repartitionong, i.e. a fresh install
19:57:18 Join faemir [0] (n=faemir@
19:57:25*pamaury still can't reproduce it !
19:58:24pamaurygevaerts: does it was between volumes on the same disk or also between disk ?
19:58:24gevaertsI'll try to find some time later today
19:58:53gevaertson sansa, between disks. On ipod mini, between volumes
19:59:07mc2739pamaury, gevaerts: I have reproduced FS #9409 tecently on e200. It fails on cut/paste, not copy/paste.
19:59:59 Join rhodan__ [0] (
20:00:35pamaurymc2739: how did you do ? I really can't :) I transfered 7 files in both directions, not necessarily at root and it works !
20:01:14 Join JdGordon1 [0] (
20:01:47gevaerts7 might not be enough. I'd also try just one direction. I used the same source and destination directories for all files
20:02:08mc2739pamaury: I did it between internal sd and microsd. If I recall correctly, it failed after 8 attempts
20:02:10pamauryI did it, 7 in one dir and it worked, so i did the same the other way
20:02:29 Quit rhodan (Read error: 110 (Connection timed out))
20:03:17pamauryAhah, I managed to make it fail !
20:07:26pamauryAt first thought, 8 seems to be the limit number of opened files. Need to check
20:08:33gevaertsah, so possibly a missing close() then
20:08:48pamauryNot sure because other things work.
20:08:58pamauryDoes someone know in which file the context menu is located ?
20:09:09JdGordon1which context menu?
20:09:22mc2739the browser context menu
20:09:25JdGordon1onplay.c handles the wps and browser context menus
20:09:59JdGordon1another file whose name doesnt make much sense (anymore) :D
20:12:11saratogarename it!
20:13:13JdGordon1meh :p
20:13:50***Saving seen data "./dancer.seen"
20:14:17 Quit rhodan_ (Read error: 113 (No route to host))
20:17:47*pamaury is going to torture onplay.c until it talks and confess why it fails
20:20:52JdGordon1can I help?
20:23:56pamauryI'll first writing a plugins that copy 8 files automatically to have something reproducable. If you're able to locate where exactly it fails and what is the error (errno ?) that could help but it's a pain to copy 8 files by hand :)
20:26:56JdGordon1you proably wontbe able to use the onplay.c copy functins from a plugin
20:27:28pamauryNo but I have copied the relevant function (clipboard_pastefile)
20:27:58pamauryThe strange thing is that between volumes cut/paste=copy/paste+remove
20:28:10pamauryso if copy/paste works, the problems is probably with remove
20:35:15JdGordon1anyone have any ideas what letter combo should be used for a token in the skins which says "the next token must use its RTL behaviour if a RTL lang is enabled"?
20:37:07 Join Phyber0ptik [0] (
20:37:52 Join lifeless_ [0] (n=lifeless@
20:37:59 Quit stripwax (Read error: 110 (Connection timed out))
20:43:21 Quit stoffel (Read error: 113 (No route to host))
20:45:45 Join Bagder [241] (n=daniel@rockbox/developer/bagder)
20:46:26pamauryI have a plugin that reproduce the bug
20:48:39 Nick markun_ is now known as markun (n=markun@rockbox/developer/markun)
20:50:09*pamaury has found that the copy fails at some point...
20:52:12 Join fdinel [0] (
20:58:15 Join stripwax [0] (
21:02:07*pamaury gets first a I/O error then a too many opened files error
21:03:53gevaertsthat's interesting
21:04:06CIA-6New commit by 03Domonoky (r24132): fix sorting by rating
21:10:48pamauryIs there a way to recompile only a part of the plugins when something changes (like plugin.h) ? (I know it's dangerous but it saves time)
21:11:51gevaertsyou can run "make full_path_to_rock_file" I think
21:12:43mc2739you can remove the plugins you don't want to compile from the SOURCES file
21:13:47*pamaury got a lovely "undefined instruction" !
21:14:08Unhelpfulpamaury: jumped to somewhere bad?
21:14:29pamauryI changed the firmware but forgot to put it on the device
21:14:56pamauryso the plugin was doing a jump to nowhere
21:15:34 Join Zagor [242] (n=bjst@rockbox/developer/Zagor)
21:15:38pamauryI was right, the number of opened file increases each time a file is cut/paste
21:16:38 Join SolarWar [0] (
21:17:13JdGordon1amiconn: pong
21:24:43*pamaury has a potential culprit: rename leaves an opended file when it fails
21:25:28pamauryWow, rename is REALLY buggy
21:25:49pamauryOn any error it will leave opened handles
21:26:07*JdGordon1 is happy he can claim having nothing to do with that function :D
21:27:33pamauryI'm puzzled, could someone look at rename and explain me why when open fails it changes the value of errno to EIO or EBUSY ???? That's not the bug but it explaisn why I get a EIO error whereas it should have been a EMFILE
21:32:20pamauryI have a fix, I'm testing it, if it works, I commit
21:34:16pamauryIt works
21:34:17*gevaerts likes bugfixes :)
21:34:46pamauryI'm committing but I still want to know why rename changes the value of errno on error, it doesn't make sense
21:34:54*stripwax holds his breath
21:34:58CIA-6New commit by 03stripwax (r24133): Update mdct with some recent ffmpeg changes so that imdct_calc is a wrapper around imdct_half, which in turn does more work in just a single buffer ...
21:35:04stripwax^ mdctexp branch, not trunk
21:35:19 Quit lifeless_ (Read error: 60 (Operation timed out))
21:35:20stripwaxsaratoga - getting there ....
21:36:11stripwaxstill not unified the mdct twiddles with the hardcoded table in iconst_data - doing so should improve things - and main fft/mdct code still not in icode yet so should be some easy wins there I hope..
21:36:25stripwaxThe bitreverse required for split radix is a bit of a bugger...
21:37:14saratogastripwax: nice
21:37:57saratogawhen you benchmarked it before, were all the trig tables in IRAM?
21:38:55stripwaxI don't actually (unfortunately) have the trunk test_codec timings, but 96kbps vorbis is about 30MHz with mdctexp and I seem to remember trunk was about 29MHz when I last timed things.
21:40:12stripwaxWhen I properly benchmarked mdctexp before, that was before I changed the fft stuff to use the tremor const twiddle table in iram. I didn't really measure the impact of that change but I noted that it seemed to be 'a bit slower'. But it's much better now
21:41:11stripwaxAlso I think making fft4 and fft8 inline made a big improvement but again didn't really measure that
21:41:19stripwaxThat was a commit or two ago tho
21:41:32CIA-6New commit by 03pamaury (r24134): FS #9409: fix rename which didn't close file handles on error and enventually cause cut/paste to fail between volumes.
21:42:02stripwaxThe mdct trig tables are still not in iram. figure it's not worth trying to change that because it should just be unified with the other table (which is already iram)
21:43:13saratogaah ok so we're very nearly as fast as the old mdct?
21:43:29saratogai was thinking there was still a 5 or 6 mhz slowdown
21:43:36stripwaxvery nearly. Maybe at most 1% slower, I think (unless mainline got any recent improvements)
21:43:59saratogagetting the mdct trig into IRAM will more then cover that on PP at least
21:44:23stripwaxright, about 3MHz slower on 500kbps vorbis, and about 1-2MHz slower on 96kbps vorbis. Definitely not as much as 6MHz slower.
21:45:03pamaurygevaerts, mc2739 : when you'll time, can you confirm that the bug is fixed ? I don't see any other reason for this to fail but we never know.
21:45:27stripwaxNot sure if mdct trig in iram will definitely help (though I rather hope it will). unrolling some of the pre/post processing and running from icode might give the same kind of speedups, perhaps
21:45:58stripwaxand simplifying some of the clunky array index math ops
21:47:59 Quit Phyber0ptik (Remote closed the connection)
21:48:19gevaertspamaury: if you don't see it anymore, I think we can declare it gone
21:49:28 Quit grndslm ("Leaving")
21:49:44pamaurygevaerts: I don't have rights on FS, can you close it ? (or give me right to do so)
21:50:14gevaertsZagor: can you fix that?
21:51:13saratogastripwax: awesome code comments
21:51:25saratogashame tremor didn't have them in the first place
21:51:34stripwaxHahaha. Yeah .
21:51:39stripwax(and thanks! :-)
21:52:19Zagorpamaury added to flyspray dev group
21:52:34saratogaany reason the front page doesn't show changes to branches?
21:52:47saratogaseems like they're worth mentioning too
21:52:55gevaertspamaury: I closed it
21:53:55pamauryok, thanks.
21:55:47stripwaxsaratoga - running fft8+fft16 in icode doesn't seem to bring much improvement - I guess since working buffer and twiddles are in iram already
21:56:10saratogastripwax: putting code in IRAM on PP usually doesn't help much
21:56:28stripwaxyeah, seems that way
21:56:40saratogastripwax: are the complex muls done in ASM?
21:57:17stripwaxthe mdct now pulls in the same asm as tremor
21:59:06 Quit bluebrother (Read error: 113 (No route to host))
21:59:19stripwax192kbps vorbis needs 33.3MHz on ipod 5g. I'll get a comparison with trunk shortly..
22:00:23saratogawiki says 30.41MHz
22:00:48stripwaxOk so about 1% slower seems about right
22:00:55 Nick fxb is now known as fxb__ (
22:01:19saratogabit more then that?
22:01:28saratoga10% right
22:02:52 Join klapaucjusz [0] (
22:02:55saratogastripwax: the conjugate pair description refers to TRANSFORM macros?
22:03:35 Join domonoky1 [0] (
22:03:40stripwaxyep. that's the main work in the (i)fft. that's a pretty useful pdf.
22:04:17 Join Llorean [0] (
22:04:25stripwaxurh. 10%. indeed.
22:04:29saratogaso this fft is based on the algorithm in that paper?
22:05:39stripwaxI don't know about that; but it looks like a "standard" conjugate pair split radix fft. which I think is the same algo in liba52, and probably many other places too.
22:06:04merbanancan you link to the paper ?
22:06:35stripwaxThat paper is just a description of various types of fft, along with details on what the fftw guys did ; the first section describes a 'standard' conjugate pair split radix, which seems to match what this is
22:07:01stripwaxThe "newsplit" algo is *not* what's implemented [if that's what you meant!]
22:10:35saratogawhats the difference between XNPROD31 and XPROD31?
22:11:38 Quit Zarggg (Read error: 54 (Connection reset by peer))
22:12:08stripwaxiirc, one multiplies by Re+iIm and the other multiplies by Re-iIm i.e. conjugate twiddle factor
22:12:27saratogaah ok
22:12:32stripwaxI *think* XNPROD31 multiplies by Re+iIm
22:13:52***Saving seen data "./dancer.seen"
22:17:05 Join twicker [0] (
22:18:27saratogais the gigabeat f powered over usb?
22:18:46gevaertsit can be, yes
22:19:09 Quit domonoky (Read error: 110 (Connection timed out))
22:19:33 Nick twicker is now known as grndslm (
22:20:32saratogadoes it also charge? i thought i remember some limitation
22:21:07gevaertsit does, yes. Maybe not when it's totally drained
22:23:19CIA-6New commit by 03mt (r24135): Make the delete_handler function return the actual result, instead of just 'false'.
22:23:37mc2739pamaury: your fix looks good - i copied/pasted 12 files from microsd to internal and back without error
22:23:54 Quit JdGordon1 (Read error: 110 (Connection timed out))
22:24:32pamaurymc2739: thanks
22:24:58pixelmadid someone see perfectdrug around lately?
22:25:10pixelmamaybe I could ask logbot...
22:26:06 Quit merbanan (Read error: 110 (Connection timed out))
22:26:16Unhelpfulhrm, how large is icache on PP? is the size of having an extra, unrolled division loop for 32-bit operands actually something to worry about, both in the context of the APE codec and of replacing the libgcc unsigned divide with udiv32_arm?
22:26:29 Quit togetic (Read error: 104 (Connection reset by peer))
22:28:42stripwaxwhy does APE need to do so much integer division? could some/all of it be replaced by fixed constants/lookups/something?
22:33:19 Join togetic [0] (n=togetic@unaffiliated/ibuffy)
22:33:38 Quit togetic (Remote closed the connection)
22:34:31 Join togetic [0] (n=togetic@unaffiliated/ibuffy)
22:34:35saratogavorbis_192k takes 50.98 MHz using the new lib on the gigabeat f, verses 48.89 on the gigabeat f
22:34:49saratogaverses 48.89 with stock
22:39:56bertrikmt, doing "(res == 0)" is simpler (and clearer IMO) than "(res == 0) ? true : false"
22:40:20 Part Llorean
22:42:14*klapaucjusz suggests ((res == 0) ? true : false ) ? true : false
22:47:49 Join DerPapst [0] (
22:48:32bertrikhm, we seem to have a lot of those constructs in rockbox, they are technically correct so it's not a real problem
22:49:09bertrikbut it itches
22:49:10stripwaxsaratoga - on ipod 5g, it's approx 3MHz slower at all bitrates
22:49:19 Join Spaceghost [0] (i=quassel@unaffiliated/spaceghost)
22:51:04stripwaxso not quite there yet then
22:51:30 Quit klapaucjusz ("leaving")
22:53:26bertrikfor example, I'd rather use "(pointer != NULL)" than "pointer ? true : false"
22:53:52*Bagder agrees with bertrik
22:54:30saratogai'd expect the mdct performance to be independent of bitrate, at least as long as you don't start using different window sizes
22:56:34saratogastripwax: fwiw I think we're faster then the c version of the tremor mdct
23:02:03saratogaanyone remember what the wiki page is for dumping asm from gcc?
23:02:29saratogaah ObjdumpGuide
23:05:17SpaceghostWhat I hope we can run rockbox on my generic player?
23:05:53saratogayou can't if its not one on the front page
23:06:09saratogawhat do i add to gcc to make it leave in the fuction names when i use objdump?
23:06:55stripwaxdoes objdump -d <blah.o> not generate disassembly with the function names in? (does for me)
23:07:17Spaceghostare someone generic player on it? saratoga
23:08:23bertrikSpaceghost, making rockbox work on some random player can easily take a year
23:08:39saratogastripwax: had the command line wrong, thanks
23:08:48stripwaxSpaceghost - there's no way for rockbox to run on a 'generic player' unfortunately. Every single player has to be written for specifically, and every single one is different
23:09:25stripwaxAnd that's just because mp3 player manufacturers don't follow a standard - the players themselves are very different
23:09:52saratogastripwax: looking at the ASM, every single load in fft8 for instance is a single load and not a multiple
23:10:15saratogatrying to improve that would probably help a lot
23:10:35stripwaxthat is indeed true, and one thing I want to look at next.
23:10:52 Join merbanan [0] (
23:10:54 Join toffe82 [0] (
23:11:17stripwaxalthough I'm surprised gcc doesn't do a better job - T[0] and T[1] should surely be a multiple load .. ?
23:11:45stripwaxDoes fft+mdct get compiled with the correct gcc optimisation flags?
23:11:56saratogaprobably not
23:12:05saratogalooking at the makefile its using defaults, which i think are O1
23:12:31stripwaxblimey - same for mdct2.c as well?
23:13:50stripwax(Hopefully the default is actually O2 - is there an easy way to check?)
23:15:06saratogai'm trying it now with O2 forced
23:15:20saratogabut its definately not O2
23:15:28saratogacodecs that need O2 force it in their make files
23:15:31saratogasee wavpack
23:19:19saratoga33.81 with O2 on vorbis192k
23:19:26saratogathe asm doesn't look any better
23:19:51saratogafft4 actually looks worse
23:20:56 Join Zarggg [0] (
23:21:28stripwaxfft4 itself doesn't really matter - the one that gets used is inlined into fft8/fft16
23:22:55saratogayeah but presumably the inlined version does no better
23:25:42Unhelpfulgcc almost never uses ldm, nor ldrd, unfortunately, from what i've seen
23:27:45saratogawe could probably fix this in asm pretty easily
23:28:20 Join Tomis2 [0] (n=Tomis@
23:28:22Unhelpfulldrd is especially useful for constants if the load is close enough to the beginning or end of the function, since it's iirc about as fast as ldm for two registers on arm11, but can be used pc-relative
23:28:51saratogamost of the butterflies don't look like they use all that many registers or weird data order
23:29:44saratogaactually its kind of ridiculous gcc couldn't manage on this code:
23:30:45stripwaxsaratoga - in my mind, that should end up looking something v similar to tremor's butterfly_8 in mdct_arm.S
23:31:02saratogayeah i wonder any of those asm functions can be adapted
23:31:42stripwaxi'm hopeful. actually that's why I started out adding the comments, hoping to find the natural similarities.
23:32:09stripwaxadds_inc still compiles to a nop right? (i hope so)
23:32:31 Quit merbanan (Read error: 110 (Connection timed out))
23:32:44saratogayeah i wondered about that
23:32:58Unhelpfulsaratoga: these are essentially stacks of "bigger" mdct functions that call smaller ones and postprocess their results, right?
23:33:10saratogaUnhelpful: ffts, yeah
23:33:58saratogai don't know why they show up in the preprocessed code, they're definitely not defined
23:34:08stripwaxmaking the fft actually non-recursive would probably help a bunch; save stacking args for each call
23:34:30saratogastripwax: I tried inlining more and it didn't really help
23:35:50Unhelpfulstripwax: that's probably only practical up to transform sizes that you could just inline, though...
23:36:04stripwaxsaratoga - tremor's mdct isn't recursive, it just makes multiple passes of different sizes (butterfly_generic) each time round. we could do the same here by writing a loop that calls a generic butterfly/pass combination for the first few iterations and then a final loop of fft16/fft8/fft4 sizes (which would make it look like the butterfly_32 stuff in tremor)
23:36:05saratogai suppose another asm optimization would be to fold shifting the fixed point muls into later butterflies
23:36:17saratogaah ok
23:36:28stripwaxwhich fixed point muls?
23:37:26saratogathe calls to TRANSFORM_EQUAL for instance
23:37:50saratogaor does MULT31 not shift?
23:38:25saratogano it does
23:38:40saratogaso instead of doing return MULT32(x,y)<<1;
23:38:56saratogadrop the shift by 1 and just shift during the butterflies for free
23:39:33stripwaxit does shift. i'm not sure I understand what you mean though .. the butterflies don't do any muls, all the muls are in TRANSFORM_xxx
23:41:06saratogastripwax: on arm you can shift for free during an add
23:42:17pixelmashouldn't the button mappings in mpegplayer be mostly like in the WPS (of course only the same functions)?
23:43:16stripwaxThat's correct. Oh, I see what you mean, I think - shave off a few instructions by taking out the shifts from XPROD31, XNPROD31 and MULT31 and do the shifts for free in some of the subsequent instructions. Yes, that's a good idea
23:43:19 Quit Tomis (Read error: 110 (Connection timed out))
23:43:19 Nick Tomis2 is now known as Tomis (n=Tomis@
23:43:42stripwaxall of TRANSFORM_Xxx should be done in hand asm if gcc can't do a good job
23:44:12Unhelpfulif the shifts are in a macro or inline function (in C) gcc probably stands a good chance of merging the shifts into other operations, unless there's a store/load in between
23:44:28 Join kramer3d [0] (n=kramer@unaffiliated/kramer3d)
23:45:03saratogastripwax: maybe just having an ASM'ed BF();BF(); macro would be enough
23:45:18saratogasince you could do ldm, stm for the operands
23:47:00saratogabut yeah ASM'ing the TRANSFORM macros would help a lot too
23:47:14saratogaanyone want to try benchmarking coldfire?
23:47:28CIA-6New commit by 03bertrik (r24136): Simplify some expressions using the ? operator
23:47:38saratogahmm though we may not have the asm working right for it
23:51:49stripwaxmm, because of the emac setup? that's possible.
23:52:09stripwaxbut i'm just reusing the tremor asm so hopefully it'll just work
23:52:47saratogastripwax: no i mean just not having all the asm functions in place
23:52:50saratogaor do we ?
23:53:01saratogai don't want to benchmark the c versions of XPROD32
23:53:03stripwaxCan't see why not ..
23:53:10stripwaxthey all exist in tremor too
23:56:36 Join toffe82_ [0] (

Previous day | Next day