Previous day | Jump to hour: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Next day

Seconds: Show Hide | Joins: Show Hide | View raw
Font: Serif Sans-Serif Monospace | Size: Small Medium Large

Click in the nick column to highlight everything a person has said.
The Logo icon identifies that the person is a core developer (has commit access).

Notice: Only Gecko based browsers prior to FF4 support the multipart/mixed "server push" method used by this log reader to auto-update. Since you do not appear to use such a browser, this page will simply show the current log, and not automatically update.

#rockbox log for 2008-11-17

00:03:16 Join lasser [0] (
00:05:49 Quit petur (Remote closed the connection)
00:08:44 Quit toffe82 (Read error: 110 (Connection timed out))
00:09:02 Quit wingmanz (Read error: 110 (Connection timed out))
00:12:40 Join FOAD_ [0] (
00:14:56 Quit tyfoo2 ("Carpe diem")
00:15:14funmandoesn't 'i2sout' sound like 'made to play pcm' ?
00:17:53funmanThe interface in Sansa AMS look simple enough. It uses DMA (and it seems we can put the DMA code in common with the SD driver)
00:21:07kugelfunman: I didn't really have success with that CCU_IO removed
00:21:14kugelon my fuze with microsd
00:24:45funmankugel: the state of this register didn't change on your fuze, if you have problems with it then the bug is elsewhere
00:24:59 Quit FOAD (Read error: 110 (Connection timed out))
00:24:59 Nick FOAD_ is now known as FOAD (
00:26:26funmannote that the code is 'filled' with calls panicf() to ease debugging
00:29:39 Quit MethoS- (Remote closed the connection)
00:30:25 Quit bluebrother ("leaving")
00:37:50 Quit faemir (Remote closed the connection)
00:43:57 Quit ender` (" Intelligence is the ability to avoid doing work, yet getting the work done. -- Linus Torvalds")
00:44:55 Quit lasser ("ChatZilla 0.9.83 [Iceweasel 3.0.3/2008092816]")
00:46:05UnhelpfuljhMikeS: i see that, looking at the patch. i thought you'd meant cross-fading or fade-on-stop, sorry.
00:47:23 Quit jhulst (Read error: 104 (Connection reset by peer))
00:47:40 Join jhulst [0] (n=jhulst@unaffiliated/jhulst)
00:49:50soapRomanGwizdz appears to be be using the wiki as rapidshare, currently.
00:50:18soapuploaded a non-compliant theme, made no entry for it, just attached the files.
00:55:56 Join Cristatus [0] (
00:56:04 Quit bertrik ("Leaving")
00:56:17Cristatushow do i sent files to my recently rockboxed ipod G4?
00:56:48Cristatus(i know it's a stupid question, but i can't find the answer anywhere)
00:57:40funmanjust copy the files in the ipod folder
00:57:55funmanno need to use a specific software like itunes, use the software of your choice
00:58:02Cristatusjust drop it in in the root?
00:58:21funmandrop it where you want
00:58:25Cristatusi see
00:58:37Cristatusalso, it's an ipod photo, can i play videos with it now?
00:59:09funmani'm not sure, just check the manual it should have all the details
00:59:30Unhelpfullook here for video info:
00:59:50Unhelpfulthe performance numbers may be out-of-date. the rest is pretty much true, to my knowledge.
01:01:37Cristatusaw crap
01:01:40 Quit tessarakt ("Client exiting")
01:01:41Cristatusi can only play mpg?
01:02:12Cristatushow do i convert an mp4 to mpg?
01:02:22jhMikeSUnhelpful: not every refinement was done but it should fade for on/off
01:04:40 Join ubuntu [0] (
01:05:01 Quit herrwaldo (Read error: 131 (Connection reset by peer))
01:05:26Cristatuson vista
01:06:18 Join BHSPitLappy [0] (n=BHSPitLa@unaffiliated/bhspitmonkey)
01:06:36funmanCristatus: look the bottom of the wiki page
01:08:04Cristatusi don't see anything about conversion o_O
01:08:41funmanI do : "How to encode files"
01:13:10ubuntunothing for archos AV320?
01:13:24Lloreanubuntu: No.
01:14:07 Join linuxstb [0] (n=linuxstb@rockbox/developer/linuxstb)
01:14:50ubuntuvery sad... rockbox is very nice, a very cool project...
01:15:13ubuntuand i miss in my archos AV320 a flac support
01:18:28 Quit ubuntu (Client Quit)
01:18:34 Join darkhamm [0] (
01:22:31 Quit reacocard (".")
01:26:49 Join simongmzlj [0] (
01:28:55 Join homielowe [0] (
01:29:42 Quit funman ("leaving")
01:29:54 Join toffe82_ [0] (
01:30:01 Nick toffe82_ is now known as toffe82 (
01:30:10Nico_PjhMikeS: have you started investigating the IPU on the S?
01:34:13 Quit simongmzlj (Remote closed the connection)
01:35:38 Part Cristatus
01:36:45 Join einhirn [0] (
01:37:29 Join miepchen^schlaf [0] (
01:39:09 Quit Nico_P (Remote closed the connection)
01:39:46 Quit einhirn (Client Quit)
01:41:22 Join einhirn [0] (
01:44:56 Quit darkhamm (Client Quit)
01:46:29***Saving seen data "./dancer.seen"
01:55:20 Quit perrikwp (" ajax IRC Client")
01:59:34 Quit jhulst (Remote closed the connection)
02:02:56 Join jhulst [0] (n=jhulst@unaffiliated/jhulst)
02:07:39 Quit Thundercloud (Remote closed the connection)
02:15:58 Join tchan1 [0] (
02:16:34 Quit tchan (Read error: 60 (Operation timed out))
02:25:46 Quit tvelocity ("Αποχώρησε")
02:27:08 Join webguest92 [0] (n=430aeeaf@gateway/web/cgi-irc/
02:27:14 Quit webguest92 (Client Quit)
02:28:12 Part Llorean
02:38:09 Join webguest70 [0] (n=4d152bae@gateway/web/cgi-irc/
02:39:47kugeljhMikeS: ping! I added a comment on fs#6800 (backlight fading)
02:39:50 Quit kugel ("ChatZilla 0.9.84 [Firefox 3.0.4/2008102920]")
02:43:31 Quit webguest70 ("CGI:IRC (Ping timeout)")
02:54:17 Join perrikwp [0] (i=d1a8d351@gateway/web/ajax/
02:58:18 Part pixelma
02:58:29 Join pixelma2 [0] (n=marianne@rockbox/staff/pixelma)
03:01:35 Join Llorean [0] (
03:05:02 Quit aarcane ("Leaving")
03:08:58 Quit homielowe ()
03:15:11Unhelpfulthinking about the aliasing artifacts in the area scaler, it looks like the options if staying with the area scaler are to either overlap the areas (probably very difficult to implement in this design, as-is), or to blur the output data as a separate step, something that can probably be done with one or two ouput-width lines of extra data
03:15:50Unhelpfulthe second will be easier, and the amount of blurring will be the same each time, because it's done in the output space. but maybe i should look to a different filter method entirely.
03:17:08saratogaUnhelpful: I don't think some aliasing is intolerable, particularly given how small and low quality most device screens are
03:17:22saratogafor larger, faster devices, a better resizer should probably be used
03:17:30saratogadepending of course on memory and cpu availability
03:18:22 Nick tchan1 is now known as tchan (
03:18:51Unhelpfulsaratoga: it gets possibly ugly, at that point. lanczos will be *very* ugly to do "for real", because it's essentially a kernel filter with values derived from the distance of the contributing source pixels from the destination, and using sines.
03:19:20saratogainitially i'd be happy with just a simple linear interpolator
03:19:33saratogalancoz is complete overkill for our needs
03:19:40Unhelpfulsaratoga: in the downscaling case, isn't linear pretty much the same as area?
03:22:10saratogai think area has better alias rejection
03:23:34saratogalinear is basically just decimation
03:26:57Unhelpfulhrm, you're right, if it's bilinear from just the neighbor source pixels.
03:28:11saratogai think the first step is to just get some sort of resizing in place thats efficient and light enough on memory for all bitmap targets to use
03:28:28saratogathen we can look into more appealing forms of resampling
03:29:07Unhelpfulwould somebody more inside of rockbox be able to help a little bit with actually putting my sample filter into rockbox, in that case?
03:30:02Unhelpfulwell, i mean, refactoring it from a demo app to something that can be tested inside rb. not outright merging it. :)
03:31:56saratogaUnhelpful: we don't have anything at all setup for doing resizing at the moment
03:32:13saratogathe first thing the patch for resizing does is add all that
03:32:36saratogaso whenever that is included, it should be straightforward for you to experiment with other resize code
03:32:39Unhelpfuli believe there was some objetion to the weight of the scaler itself, though?
03:32:50saratogayes the cost is quite high, ~ 20KB
03:33:07saratogaalthough that includes both bilinear and area sampling w/ 5 lines
03:33:23saratogai think dropping area sampling on some targets would save at least 5KB
03:34:33 Nick fxb is now known as fxb__ (
03:35:13Unhelpfulnow, since metadata-on-buffer, there's still not a real malloc, but it would be possible to grab some buffer space while loading an image with other metadata, and free it when the scaling is complete?
03:36:38 Join n17ikh|Lappy [0] (
03:37:52saratogaUnhelpful: you'd probably have to ask Nico_P about that
03:38:32Unhelpfulif not, we could assume that we're never scaling to a size greater than the target display, and have a fixed buffer in that size.
03:38:49linuxstbMaking the resizing dependent on the audio buffer would limit its use to only album art though, and I'm not sure it's worth the effort.
03:42:24Unhelpfullinuxstb: that's a good point. the area scaler can be done on <scale> input lines, with 10x<owidth> bytes of buffer... so, a fixed buffer on a 240-wide target would be ~2.4KB of permanent buffer.
03:42:36Lloreanlinuxstb: I'm not sure there are many other in-core uses for scalable images.
03:42:42LloreanThe only other one I can think of are iconsets.
03:43:03Unhelpfulprobably should use the larger dimension of the target display, in case the image is wanted rotated?
03:43:05LloreanAnd that can be solved a different way (including prescaled default iconset for each font size, in case the theme doesn't include one)
03:43:14Llorean"each font size" being "each official font size"
03:43:16linuxstbMaybe backdrop, especially when jpeg support is in the core.
03:43:54linuxstbBut jpeg may need different buffering anyway...
03:44:12Unhelpfuli think scaling a backdrop when you install it on a target is not so horrid, compared to scaling album art per-album
03:44:59Unhelpfullinuxstb: if the destination buffer is already reserved, though, you can rotate line-by-line as you copy from the scaler line buffer to the output buffer
03:45:38Unhelpfulor even hand the scaler line and pixel strides for the destination buffer that are reversed, and let it write final output straight to the image buffer
03:46:22linuxstbBut yes, in theory you could grab space from the audio buffer - I think the earlier version of the resize patch did that.
03:46:32***Saving seen data "./dancer.seen"
03:46:35linuxstbAlthough I don't know how reliable it was.
03:48:07Unhelpfulwith output direct to an image buffer, scaler buffer could be 8x<owidth>, plus whatever the line of input it's reading from takes up.
03:48:27saratogagrabbing space is always nice since it saves space for people who don't want album art
03:49:49Unhelpfulif we assume that that's the only place the scaler will be used, i'd say that's the way to go
03:50:22Unhelpfulassuming a graceful failure can be managed on buffer shortage - presumably we can say there's not enough room, and RB will try to load the stuff again later?
03:51:38LloreanThere shouldn't ever be buffer shortages as long as you load the image *before* buffering the associated song.
03:51:57 Quit DerDome (Read error: 110 (Connection timed out))
03:52:05 Join DerDome [0] (
03:52:24LloreanOr rather, the only shortage would be on the last image, which you then just give up on and do at the beginning of the next rebuffer, right?
03:54:35UnhelpfulLlorean: it sounds like you're saying it would/could do what i said, basically, then? provided the image scaler can pass notice of the failure up?
03:55:12LloreanI don't know.
03:55:52linuxstbShouldn't it be the other way around? i.e. the buffering code passes a temporary buffer to the read_bmp function?
03:56:45Lloreanlinuxstb: Wouldn't you need two things: a destination in the audio buffer for the post-scale image, and then a temporary buffer immediately after it that's for temporary use in the scaling?
03:57:24UnhelpfulLlorean: that would be the case. and the temp buffer space will depend in part on the line size of the input.
03:58:06Unhelpfuli *need* a whole line at a time, as this it written. i could do instead with the ability to reset the reader to the start of a specific line.
03:58:18linuxstbThinking about future jpeg support, I'm thinking of a "preload_image" function that will open the file, parse the header, and return the sizes of buffers the main decoding code will need. The calling function is then responsible for allocating those buffers, and then calling the decode/scale functions.
03:58:23Unhelpfulhrm, actually, no, i think i could take a line in chunks.
03:59:05 Join webguest041 [0] (n=46f11d5c@gateway/web/cgi-irc/
03:59:11LloreanSince it's a temporary buffer anyway, I don't think we need to worry much about its size.
03:59:37LloreanIf there's not enough room for a single line of the image, then the amount of free buffer is probably too small for practical buffering of audio either, so it'd be okay to end this rebuffer loop I imagine.
03:59:45Unhelpfullinuxstb: a jpeg decoder should be able to do with srcwidth*8 bytes of buffer, or srcheight*8 (i can't remember if jpeg stores blocks row-first or column-first)
04:01:40 Quit webguest041 (Client Quit)
04:01:46Unhelpfuland you can potentially quarter the decoder's needed buffer for each power-of-two scale factor, up to 1/8
04:21:14 Quit einhirn (Read error: 104 (Connection reset by peer))
04:23:27 Join blkhawk- [0] (
04:26:22 Join SpeakerMania [0] (
04:27:02SpeakerManiaIs there any ongoing development on the iPod Touch?
04:27:33LloreanNot really, no.
04:27:45UnhelpfulSpeakerMania: to my knowledge, there's no progress at all running custom OS code on the device.
04:28:12SpeakerManiaIs there a clear reason for this? (ie, lack of hardware, general confusion about the actual hardware, etc)
04:28:47LloreanSpeakerMania: Nobody who's actually interested in it has done the work.
04:29:09UnhelpfulLlorean: that's a target with firmware signing and encryption as well, is it not?
04:29:13SpeakerManiaThat's a shame. :(
04:29:17LloreanUnhelpful: Rockbox could be run as an app though
04:29:32LloreanSpeakerMania: Well, you could be the one to begin work on it.
04:29:36UnhelpfulLlorean: certainly not via the store...
04:29:46Unhelpfulthey don't like "duplicate" functionality
04:30:00LloreanUnhelpful: yeah, but if I understand, jailbreaking is more or less trivial these days
04:30:32SpeakerManiaLlorean: Unfortunately all I know is the basics of Small Basic (lol), but I program extensively in PHP which I hear is similar to C, etc.
04:30:45Unhelpfuli believe you can also load custom apps with the devkit, if you agree to the terms, and use MacOS
04:31:05UnhelpfulPHP is not very much like C, except in some of the syntax.
04:31:15LloreanSpeakerMania: "The amount of time it takes to learn and do it" is still a lot shorter than "never"
04:31:23Unhelpfuland this is getting pretty off-topic
04:31:38SpeakerManiaLlorean: Indeed.
04:33:57UnhelpfulSpeakerMania: PHP, details of iPhone app installation, are not related to rockbox itself. but if you want me to rant at you about PHP's warts, you can join #rockbox-community
04:36:12 Quit jhulst (Remote closed the connection)
04:38:02 Join miepchen^schlaf_ [0] (
04:40:00 Quit blkhawk (Read error: 113 (No route to host))
04:40:25 Nick blkhawk- is now known as blkhawk (
04:41:34UnhelpfulLlorean: say, a handle, a callback function that gets one line of data, the start of the buffer, the available space, and the input dimensions and output constraints could be passed to the scaler? that leaves flexibility for using any format loadable in-core. the scaler can return the quantity of buffer used by the output image, or 0 on failure.
04:41:46 Join gregorovius [0] (
04:42:28gregoroviusHi... I remember there was some info somewhere on the wiki about player sizes, but I can't find it... any hints?
04:42:44Unhelpfulstorage sizes?
04:42:57gregoroviusno, physical sizes
04:43:15gregoroviusat least I _think_ i saw that on the rockbox wiki
04:45:29gregoroviusthat's it, thanks
04:46:52 Quit SpeakerMania ("Leaving")
04:48:59saratogalinuxstb: your "preload_image" function would be there so that temporary buffers could be allocated in the audio buffer and then freed before buffering was completed then? or do i misunderstand your idea
04:50:32saratogathats a neat idea
04:50:49saratogawould allow for very high quality resizing without much memory hit
04:51:19*Unhelpful still doesn't consider the area results very high quality on his cover2, cover5, and cover8 samples
04:51:50linuxstbBut this sounds like we're going round in circles, back towards the first resize patch that simply loaded the entire bitmap to the audio buffer, then resized it...
04:51:51Unhelpfuli think a lanczos-like filter could be done with ~<scalefactor> lines of the source image availble
04:52:22Unhelpfullinuxstb: except that we're talking about scaler that takes input line-at-a-time
04:52:42linuxstbsaratoga: I agree with you that the first step is to simply get something committed, and then we can evaluate different algorithms, with different memory/cpu requirements.
04:52:58Unhelpfulso we're allocating the output space, and behind that a series of small buffers the scaler uses, which may be overwritten when it's done.
04:54:05 Quit miepchen^schlaf (Success)
04:54:32 Join jhulst [0] (n=jhulst@unaffiliated/jhulst)
04:54:38Unhelpfulheh, could we load the whole image, ask the IPU to scale it, and then copy it back to buffer, on beast?
04:55:14Unhelpfulsome of the claims for IPU-based video acceleration suggest that it can do at least *some* operations on an image that is accessible from memory afterward
04:56:01saratogalinuxstb: the memory use for even a very complicated resampling algorithm would be much, much smaller then loading the entire image
04:56:32saratogaprobably by a factor of a hundred or more for a typical sized album art
04:58:32Unhelpfulthe bilinear upscaler can probably be done with... i'm going to say, 8*owidth+1*iwidth bytes of scratch space
04:59:00 Join Horschti [0] (
04:59:08saratogawhy 8*out_width?
04:59:46 Quit Horscht (Nick collision from services.)
04:59:51Unhelpfultwo owidth buffers of 32-bit ints, which will hold linear-scaled lines of input date, then we interpolate between those to produce each output line.
05:00:31Unhelpfulsaratoga: because i think that interpolating those two lines direct to 8-bit is a bad idea if we're going to interpolate between them as well
05:00:36saratogaah ok was figuring we'd use 16 bit samples, but i suppose converting could be annoying
05:02:06Unhelpful16-bit might be fine. the area scaler uses an accumulator buffer, so the values in it need to hold 255*256*(scale^2) without overflowing
05:02:57 Quit Bensawsome ("The awsome is gone :(")
05:03:18saratogayou can prescale values to avoid overflow
05:03:40Unhelpfulthe bilinear is just storing a temp value for a single pixel, fixed point to reduce rounding errors. 16 bits is fine, i'd think.
05:04:37Unhelpfulsaratoga: i'd rather not in the area scaler, since the precision loss is potentially multiplied by many pixels. i could, however, have it do a prescale if the scalefactor is beyond the limits of the filter without one.
05:05:35Unhelpfulfirst i need to figure out why that problem i mentioned in the other channel happens... or just port the thing to rockbox, where that problem probably won't happen due to framework differences.
05:05:46saratogaUnhelpful: I think most LCDs only do 5-6 bits per color channel, so rounding error is probably irrelevent
05:06:52Unhelpfuldo you think reducing the size of a one-or-two-line temp buffer by half would make the patch more palatable?
05:07:07Unhelpfulalso, there's the getting-jpeg-into-core issue, before a scaler is of much use, isn't there?
05:07:41LloreanA scaler would still be useful with bitmap album art.
05:07:58LloreanSince it means you don't need multiple copies for different sized themes.
05:08:08saratogawe'll probably go through all of this again whenever JPEG is ready
05:08:33LloreanIn fact, I personally don't think it's even unreasonable to say "please prescale all your album art to X*Y or less, and we'll handle downscaling only"
05:09:11 Join Darksair [0] (n=user@
05:09:13Unhelpfuland nico_p is the person to talk to about hooking a scaler into the current album-art load mechanism?
05:09:16LloreanFor example "All album art must be no larger than the largest dimension of your screen, times two, squared" so 640x640 for iPods, 440x440 for Sansas, etc.
05:10:07saratogaUnhelpful: have you looked at FS #9458 ?
05:10:30UnhelpfulLlorean: that wouldn't eliminate the upscaling case. and the area scaler, as written, can handle about 1/256 scalefactor.
05:11:02LloreanUnhelpful: Huh?
05:11:09saratogayeah but i doubt it has enough memory to buffer an entire line
05:11:43UnhelpfulLlorean: a max image size would not keep you from ever wanting to upscale. if your cover art is smaller than the display size in wps, you might want that bilinear scaler.
05:11:43saratogaor at least if you try to declare int cache_line[10000] your patch is probably going to be rejected pretty fast
05:12:09saratogai don't think unscaling is a very interesting case from our point of view
05:12:15LloreanUnhelpful: If it's smaller than the WPS size, they could upscale it to the largest size any of their WPSes will use in advance, then let Rockbox downscale.
05:12:16saratogathe memory requirements should be no different
05:12:19Unhelpfulheh, 10k isn't enough on beast, you'd need 61440 :D
05:12:38LloreanIf upscaling is "free" in terms of added code, sure.
05:12:47LloreanBut i just don't think it's something we should care too much about adding support for if it's not.
05:12:58saratogawe'll probbaly just limit BMPs to 500 or 1000 pixels, and [eventually] jpegs of 8 times that
05:13:06UnhelpfulLlorean: it can't be completely free, the best filters for up- and down-scaling aren't the same.
05:13:17LloreanUnhelpful: That's kinda what i assumed.
05:13:28Unhelpfulwell, ok, the cheapest-acceptable ones.
05:13:47LloreanI propose we should say "we don't care about upscaling, please do any upscaling in advance". The goal should be "allow users to have on file per album" rather than "ensure users never, ever, ever need to prescale"
05:13:58Llorean*one file per album
05:16:15Unhelpfuli think that's fair. the only way i'd say upscaling might be free is if 1) my pseudo-lanczos concept pans out and 2) i can use that same design for upscaling
05:16:51saratogaupscaling would be nice to have i ugess, but i don't see any reason it needs to be in the resize patch
05:16:55saratogawe can always add things later
05:17:18LloreanI don't see upscaling as being particularly useful except maybe if we start scaling icons.
05:17:19saratogareally just getting any resize at all would be nice so that things can be tested and tweaked
05:17:40UnhelpfulLlorean: which isn't compatible with on-audio-buffer rescale-while-loading :/
05:17:42saratogarescaling icons might not look so good so i don't think most people would do it
05:18:15Unhelpfulsaratoga: i agree on that, the line-art-ish samples in the set i put up show the worst aliasing by far
05:18:15saratogasame goes for WPS bmps [or jpegs]
05:18:16LloreanIn my opinion, if we want to always have scaled icons, we just provide a bunch of premade icons and have it load some based on the height of the font.
05:18:23LloreanAnd if they want to use third-party fonts, they just get their own icons.
05:18:35LloreanUnhelpful: Samples somewhere?
05:18:36Unhelpfulthe 'A' in cover2 is nasty
05:18:49saratogai guess in the extreme case the build script could do resizing too
05:20:06Unhelpfulthose are from a test-case 8-bit grayscale sampler. what remains would be to do the same thing for each channel, and pack target bitmap pixels.
05:20:39saratogai think you may be underestimating the visibility of artifacts on a device screen
05:20:52saratogathe contrast and color resolution will be much worse then on a desktop screen
05:20:57Unhelpfulover, you mean?
05:21:01LloreanUnhelpful: Have you tried viewing bitmaps of those on-player?
05:21:02saratogayes over
05:21:08LloreanI bet most of those look almost perfectly acceptable on the player screens
05:21:18LloreanAt the very least, they're "good enough" compared to "no scaling at all"
05:21:36 Part toffe82
05:21:38UnhelpfulLlorean: that i have not done. rockpaint can load bitmaps, right?
05:24:08LloreanAnd I think 95% of users wouldn't even complain about how they look on a PC screen for simple WPS album art.
05:25:26Unhelpfulthey're less obvious on player. 8 doesn't look noticeably bad at all, 2 and 5 are much less jarring, although still noticeable.
05:26:54saratogai guess the real test is if you can tell theres aliasing without having seen the original recently
05:27:31saratogafor what its worth, I think bilinear is pretty widely used for resizing video in embedded devices
05:29:15Unhelpfulsaratoga: bilinear is good for upscaling. you need to use <scale>x<scale> pixels of input for it to downscale much better than nearest-neighbor, and at that point, it's practically an area scaler, with more math.
05:30:06saratogayeah but people aren't all that bothered by aliasing in images I think
05:30:52LloreanI'm sure they won't be with album art.
05:31:13LloreanHonestly, I see enough aliasing in print adds and images scaled badly for TV that I think average users are pretty blind to it.
05:32:24Unhelpfullooking at #9458, though, it looks like the bilinear and nearest-neighbor are just being used for larger images
05:33:10saratogayes aliasing on TV drives me nuts but I'm the only person I know who even recognizes it
05:33:12Unhelpfulmaybe in the next couple days i should take a look at incorporating the test scaler into that patch as an all-purpose scaler?
05:37:31Unhelpful*sigh* i had a hunch that upping the sub-pixel accuracy at area edges might improve the quality. it doesn't. i'll still look into varying that, though, since that will allow the scalefactor range to be extended without overflowing.
05:46:35***Saving seen data "./dancer.seen"
05:46:50 Join aarcane [0] (
05:48:15 Quit Horschti ("User was distributing pornography on server; system seized by FBI")
05:59:21 Quit saratoga ("CGI:IRC (EOF)")
06:01:39 Quit obo ("bye")
06:30:57 Join sin613 [0] (
06:36:49UnhelpfulLlorean: i note that the scalers in #9458 are borrowed from plugin lib. if they're moved into core, they could be added to the plugin API, right? that would be a total binsize win, although a core binsize loss, still. and an area sampler that's not limited at 1/5 scalefactor would make it pretty reasonable to remove the nearest-neighbor scaler.
06:37:45 Quit Zarggg ()
06:37:51LloreanUnhelpful: Making the core one more universal just to save for plugins doesn't make much sense.
06:40:56Unhelpfulso core binsize is going to be more a factor than plugin binsize. fair enough, i haven't seen that very many plugins appear to use the scalers, anyway. is there anything that really needs different scale factors per axis?
06:42:19Unhelpfuli'd favor aspect-preserving scale for album art. i don't remember what pictureflow does. and i think that people really *could* just scale their own for sliding puzzle.
06:43:12 Quit linuxstb (Remote closed the connection)
06:48:09LloreanI think we really should just be concerned with core scaling right now.
06:48:37LloreanSomeone can add as complex a scaler as they want for use in plugins later if certain features aren't available through the existing one in plugins.
07:10:39UnhelpfulLlorean: i'll try to get some work in on this over the next few days. if we're assuming an album-art-only scaler, we can drop nearest-neighbor completely. i'll definitely need help with scaled output direct to buffer and scratch-space-on-buffer. getting those in gets rid of the static line buffers.
07:18:42 Quit gregorovius ()
07:37:08 Join LinusN [0] (n=linus@rockbox/developer/LinusN)
07:46:21amiconnUnhelpful: There are targets with non-square pixels
07:46:39***Saving seen data "./dancer.seen"
07:47:22amiconn(none of the *existing* more severe cases will have album art and the scaler in the core though)
07:47:59LloreanI think even with non-square pixel targets in the future (if such happen), we can ask them to scale their AA to the proper aspect.
07:48:14*Llorean is still in the "core scaling means asking them to scale once, not asking them never to scale" camp. :)
07:49:28amiconnI'm not just thinking about album art. I want to add a scaler to jpeg.rock so that the first zoom level will always be full-screen (currently it is the largest that fits the screen)
07:50:15amiconnAnd on archos the scaler should also compensate the non-square pixels
07:51:03*amiconn also wants optional auto-rotation in the jpeg viewer
07:51:06LinusNi think it should be convenient to use rockbox
07:51:07Unhelpfulamiconn: there are area and bilinear scalers in plugin lib.
07:51:31LinusNand scaling the album art definitely helps
07:51:38LloreanLinusN: I think preparing your album art once is still pretty convenient.
07:52:01LinusNnot as convenient as not needing to do it at all
07:52:17Unhelpfuland i'm getting a definite impression that (not entirely unreasonably) a patch that does too much will have trouble getting into core
07:52:17LloreanNot needing to do it at all means we have to upscale, downscale, deal with arbitrary sizes that may be ridiculous...
07:52:42amiconnLinusN: Well, you still need to convert once; it's unlikely that the album art comes in BMP format (most common is probably JPEG)
07:52:44LloreanLinusN: We could even have RBUtil handle a scan and preparation, to make it as easy as possible.
07:52:56LinusNamiconn: i want jpeg decoding as well
07:54:07LinusNLlorean: that's probably the closest thing to a solution we can get, if we don't do it in rockbox
07:54:57amiconnAfaik it's not possible to scale JPEG on the fly on load (scale arbitrarily I mean; 1/2, 1/4 and 1/8 are possible in the idct of course)
07:55:26J-23hmm, when I'm booting newest code for e200v2's I see "Connected" screen from the OF
07:55:31LinusNamiconn: it would have to be done in two passes
07:55:31J-23I can
07:55:37J-23argh, enter again
07:57:19amiconnLinusN: That would need (potentially very large) intermediate buffers
07:57:20 Quit rasher (Read error: 104 (Connection reset by peer))
07:57:28LinusNamiconn: maybe
07:57:45sin613amiconn & LinusN: which of you should i be speaking with regarding development for the iaudio x5?
07:57:56LinusNboth i guess :-)
07:58:05Unhelpfulonce again, i don't see why we can't scale on load, with a temp buffer that holds one row of macroblocks.
07:58:57amiconnActually jpeg could scale down to other factors too: 7/8, 6/8, 5/8, .... Each of those factors requires another idct
07:59:37LinusNUnhelpful: i believe we can do it in a quite efficient way, the question is if we are prepared to do the programming work, and if we think the increased complexity and binary size is worth it
08:00:00amiconnIt could also scale up this way. [IDC]Dragon once pointed me to a page where using custom idcts with different output sizes was described
08:00:34amiconnThis method can even scale X and Y by different factors
08:02:07UnhelpfulLinusN: my idea of an album-art-only scaler takes a callback function for a pointer to the next line. a line-at-a-time jpeg decoder can then decode one line of macroblocks, and pass pointers into it when the callback is called.
08:02:33 Join rasher [0] (
08:03:43JdGordoncan anyone think of a reason why the file dirfilter could ever change (while the browser is open) other than with the quickscreen?
08:04:59amiconnJdGordon: Yes, and someone already told you: loading a .cfg
08:05:15JdGordonI didnt get an answer yesterday...
08:05:27JdGordonbut yes thats a good reason :/
08:06:19 Quit BHSPitLappy ("Ex-Chat")
08:08:14Unhelpfulamiconn: my google-fu is too weak to find that jpeg info, right now. and it might be easier just to use a fixed set of idcts for 1, 1/2, 1/4, 1/8
08:09:35amiconn This one has a whole bunch of idcts
08:10:44amiconnExplanation etc here:
08:11:30J-23Is it known what USB controller do e200v2's have?
08:21:07*JdGordon wonders why scrobbler_init() and scrobbler_shutdown() are in tree.c in amongst the tree init/shutdown code?!
08:21:38JdGordonand playlist_shutdown() is there also
08:22:02 Quit miepchen^schlaf_ ()
08:22:54LinusNJdGordon: i believe it could be because it was the most convenient way of doing it back then, since the scrobbler has no thread of its own
08:23:20JdGordoninstead of just being in system_flush() and system_restore()?
08:24:06LinusNi guess so
08:24:43LinusNwhen are those called?
08:25:00JdGordonusb dis/connect
08:25:10JdGordonand clean poweroff
08:25:16JdGordonfrom the default event handler
08:25:42LinusNmaybe system_flush/restore are newer than the scrobbler?
08:25:50LinusNjust a guess
08:26:45JdGordoncould be... objections to me moving them out?
08:27:22JdGordonanyone know of any bugs related to scrobbler not logging tracks on shutdown?
08:28:31LinusNnot sure
08:29:27JdGordonno there wont be.. it looked like a flush call was missing, but scrobbler_flush is inside scrobbler_shutdown...
08:29:36JdGordonsystem_flush is MUCH older than scrobbler
08:31:18amiconnThe shutdown handling needs complete rework anyway
08:32:07JdGordonit seems its not really threadsafe? the default event handler could end up getting called in any thread?
08:32:20 Quit GodEater (" ajax IRC Client")
08:32:27 Join GodEater [0] (i=c2cbc962@gateway/web/ajax/
08:34:19 Join linuxstb [0] (n=linuxstb@rockbox/developer/linuxstb)
08:36:18LinusNJdGordon: only the main thread should call the default event handler
08:36:27 Quit Darksair (Read error: 60 (Operation timed out))
08:37:44JdGordonsure, but its easy to tihnk it could be accidently be called in the wrong thread
08:38:48LinusNsure it could be, but that only means that we should take care when coding
08:39:34amiconnAfaik the default event handler is never called from somewhere else than the main thread
08:39:53JdGordonyeah, just checked... looks safe for now
08:40:45amiconnBut the shutdown handling is nasty: It's called from the main thread, even if the feature being shut down has its own thread, and at least on some targets, shutdown terminates some threads
08:41:45amiconnInstead, the shutdown code should tell each thread to cleanly prepare for shutdown, optionally (compile-time) *without* terminating the thread, but putting it into idle state. The latter is needed for proper suspend
08:42:32JdGordonand stuff like scrobbler and playlist should setup callbacks for the events instead of poluting misc.c
08:42:34amiconnThis thread shutdown needs to be coordinated. At least some threads depend on others, so order is important
08:47:24 Join Bagderr [241] (n=daniel@rockbox/developer/bagder)
08:47:49 Nick Bagderr is now known as B4gder (n=daniel@rockbox/developer/bagder)
08:48:05 Quit BigBambi (Read error: 113 (No route to host))
08:51:09 Join ender` [0] (
08:52:34 Join Rob2222 [0] (
09:03:40 Quit sin613 ("Leaving.")
09:10:44 Quit Rob2223 (Read error: 110 (Connection timed out))
09:14:21 Quit denes_ (Read error: 110 (Connection timed out))
09:14:41 Join denes_ [0] (
09:21:44 Join DTU_student [0] (n=82e149de@gateway/web/cgi-irc/
09:21:47DTU_studenthi guys
09:22:04jchillerup(are you a DTU student :))
09:22:21DTU_studentDoing a poster about Rockbox
09:22:27DTU_studentAn assignment
09:22:28jchillerupFor DTU?
09:22:33jchillerupOh, OK...
09:22:40jchillerupI'm studying there too
09:22:51DTU_studentI was wondering if there's any screenshots for Rockbox
09:22:56DTU_studentok cool :P
09:23:12jchillerupYeah, sure, they're on the wiki
09:23:13B4gdertried the manual?
09:23:27B4gderthe manual, the wiki or wikipedia or ...
09:23:38scorcheDTU_student: there are some in the manual, but one of the aspects of rockbox is themability, so it can look quite different in some screens...
09:24:33B4gderalso note that we have many different targets that look quite different
09:24:42B4gderdue to screen constraints
09:24:44scorchejchillerup: that page is ooooooold
09:24:50jchillerupyeah, i see
09:25:24scorcheDTU_student: you can also make your own screenshots if you wish...the process is in the manual
09:25:57jchillerupI have an iPod 30G with rockbox...
09:26:07DTU_studentI thought many times about using Rockbox on my ipod
09:26:09jchillerup(and I'm in the process of porting it to Nintendo DS)
09:26:19DTU_studentBut im short of time with this poster :D
09:26:47B4gdersleep less, hack on rockbox more!
09:27:06DTU_studentSo can I use the picture on the boot screen on my poster? No copyright or anything?
09:27:25DTU_studentCopyright © 1999-2008 by the contributing authors.
09:27:42jchillerupI guess nobody would mind
09:27:50jchillerupwhat exactly is the poster on?
09:27:56B4gdercopyright sure, but licensed to be used
09:28:02DTU_studentok thx
09:28:27jchillerupif you need me to take some screenshot, I can do that
09:28:39jchillerupif you need anything special
09:28:43DTU_studentWell we have a subject called Real time systems.. then we need to critically analyse a real-time system
09:28:58DTU_studentThe organization of the kernel and such
09:29:06B4gderreal-time by the original and strict sense?
09:29:10DTU_studentAnd my team is doing about rockbox
09:29:13jchillerupsoftware technology or design and innovation?
09:29:26DTU_studentDiplom IT :)
09:29:39 Join THe [0] (n=82e149e3@gateway/web/cgi-irc/
09:29:53DTU_studentwell it doesn't need to be a hard real time system
09:30:35 Join kugel [0] (n=chatzill@unaffiliated/kugel)
09:30:54kugeljhMikeS: ping
09:31:07 Quit THe (Client Quit)
09:31:17 Join Apprentice [0] (n=82e149e3@gateway/web/cgi-irc/
09:32:17DTU_studentI really dont know what to write about rockbox...
09:32:28DTU_studentThe objectives are these:
09:32:44DTU_studentYou can critically analyze a real-time system and propose an operating system organization which is particularly suitable for supporting the real-time system. ● You can critically analyze an operating system and propose some applications for which it is particularly suitable.
09:33:38B4gderso, then do that!
09:33:51 Quit pixelma2 ("-")
09:34:02 Join pixelma [50] (i=pixelma@rockbox/staff/pixelma)
09:35:15DTU_studentWell... we've written about what rockbox is.. and why people should use rockbox..and which kernel structure it is.. something about why you dont use malloc
09:35:21DTU_studentBut it doesnt fit that much :P
09:35:42 Quit Apprentice (Client Quit)
09:36:12 Quit kugel (Remote closed the connection)
09:36:41 Join SimonG [0] (n=82e149e3@gateway/web/cgi-irc/
09:37:29 Join Thundercloud [0] (
09:38:15DTU_studentI've searched these pages hundreds of times :p
09:38:46scorcheso what do you want from us?
09:39:50DTU_studentI want you to guide me :P
09:40:14 Join wingmanz [0] (n=wingmanz@
09:40:21SimonGcan anybody give me the "Line of the line" on why i should use rockbox instead of my apple firmware? I've read the pro's but not that many con's, This cant be?
09:40:38jchillerupdo you need a con?
09:40:39SimonGwhat are the con's?
09:40:40scorcheSimonG: well, there is the WhyRockbox wiki page
09:40:40B4gderSimonG: try it out and see for yourself
09:40:48LloreanDTU_student: It's your project. If you have specific questions about Rockbox ask them, but there's not really anyone here can do to tell you what to do, just answer specific questions about the project.
09:40:53jchillerupThe battery life is reduced somewhat
09:41:16Lloreanjchillerup: When was the last time you did a comparative benchmark?
09:41:19jchillerupPartly because of the more powerful playback, partly of hardware issues, as far as I'm concerned
09:41:28scorchejchillerup: that statement is likely wrong...which device are you talking about?
09:41:29jchillerupLlorean: quite a while, but rockbox DOES play louder
09:41:35jchillerupipod video 30g
09:41:36Lloreanjchillerup: Yes, but that's not comparative.
09:41:39scorche"more powerful playback"?
09:41:41SimonGis there really any change in sound? I read that ipods allready are cream of the crop ?
09:41:50 Quit jhulst (Remote closed the connection)
09:41:56scorcheipods are far from cream-of-the-crop
09:41:56jchillerupYes, my ipod 30g clips the bass in Apple OS
09:42:02jchillerupI have sennheiser hd202
09:42:11Lloreanjchillerup: "Reduced battery life because you do different things" isn't actually "reduced". It's like saying "If you turn up the volume in the apple firmware, it reduces your battery life." That doesn't mean the Apple_OS has less battery life than Apple_OS.
09:42:11jchillerupdoesn't clip in rockbox
09:42:13wingmanzipods have really bad sound. rockbox much better
09:42:30jchillerupLlorean: guess I stand corrected
09:42:44scorchewingmanz: ipods are a hardware device...rockbox is a formware...that doesnt make sense
09:42:45SimonGhow come?
09:43:01Lloreanjchillerup: Battery life may be reduced by features, but under identical conditions Rockbox performs very similarly in terms of battery life to the stock firmware.
09:43:02wingmanzi mean ipod firmware
09:43:04SimonGwhy cant a proffessional team like them create the best?
09:43:13jchillerupLlorean: fine. good.
09:43:15LloreanSimonG: They can. But it would make it cost more.
09:43:20B4gderSimonG: the "best" is hardly objective
09:43:25jchillerupSimonG: it all comes down to economic interests
09:43:36scorchewingmanz: then that is incorrect...please come back with some RMAA results provinf your statement...all i have seen points that they are essentially the same
09:43:50Lloreanjchillerup: Anyway, please check on more objective data like benchmarks when trying to give out information like that.
09:43:52jchillerupapple for example only want to support their own format (+ mp3)
09:43:53SimonGoh.. well im kinda critical to this subject since rockbox can make it for free?
09:44:07jchilleruplinux is free too
09:44:15jchilleruplinux is used in many, many enterprises
09:44:18LloreanSimonG: It's fully reversible, anyway.
09:44:40SimonGhow much space do i need for rockbox?
09:44:50LloreanDepends on what extras you install.
09:44:52scorchedownload the zip file and find out
09:44:53DTU_studentSimonG is my co student for this poster
09:45:03LloreanBut less than 10mb for a base install.
09:45:18SimonGshit. thats nothing
09:45:30scorchethe expletive is unneccesary...
09:45:32jchillerupthe menu structure is somewhat different compared to the apple os
09:45:54jchillerupwhere you would normally press menu to get one "step" up, you would press back in Rockbox
09:45:57SimonGso having it on my ipod will only "cost" 10mb
09:45:59scorchea bit more than "somewhat", but of course it is...we dont try to emulate the apple firmware...
09:46:12jchillerupthe menu toggles between the music you play and the .. menu.
09:46:22scorcheSimonG: sure...
09:46:22B4gderSimonG: it will also cost you the experience of realizing what Apple didn't offer you... :-)
09:46:25jchillerupSimonG: yeah, but there are extras
09:46:36jchillerup"But wait... there's more!"
09:46:37SimonG:D i will
09:46:40scorchejchillerup: you dont need to say all the differences...this is what the manual is for
09:46:42jchillerup(Doom 2, for example)
09:46:45***Saving seen data "./dancer.seen"
09:46:54jchillerupscorche: didn't mean to explain any other differences
09:47:05jchillerupbut a fact is that I didnd't know how to navigate rockbox at first
09:47:14SimonGits not gonna hurt to try
09:47:14scorchewhich is why the manual is there..
09:47:15jchillerupi'm trying to help these guys...
09:47:25Lloreanjchillerup: help them by pointing them to the manual, perhaps?
09:47:33jchillerupYou already did.
09:47:39SimonGthanks guys
09:47:41jchillerupBut yeah, read the manual too
09:47:58DTU_studentYou really like that manual :D
09:48:17SimonGill install it tomorrow since its not my ipod i need to persuade my gf
09:48:29scorcheif you bothered to write it would you not reference people towards it/
09:48:45SimonGanyways we know more to write about but the manual isnt that juicy as the info u guys give us
09:49:07scorcheisnt as "juicy"?...what info are you looking for?
09:49:20SimonGjust the simple questions as "cons"
09:49:44B4gderthere are no cons in my view
09:49:45jchillerupOne other con of Rockbox on an ipod is that girls can't. handle. it.
09:49:48jchillerupBut that's also a pro sometimes
09:49:53SimonGits easy to only write about cons compared to other "firmwares" but imo a good product will eplxain at least a few cons
09:49:56 Join kugel [0] (n=chatzill@unaffiliated/kugel)
09:49:58scorchethe "cons" are different for everyone...we say to figure them out for yourself, because what you consider a con might very likely not be one in my eyes
09:50:01Lloreanjchillerup: That's stupid and subjective. Please, try to stay serious in here.
09:50:10jchillerupyeah, ok, sorry
09:50:18SimonGlol hehe good one though :P
09:50:30SimonGi understand
09:50:33jchillerupbut really, it's all about figuring out how the menu works
09:50:43scorchefor you, perhaps....
09:50:43DTU_studentSo.. when will I get my money for marketing rockbox?
09:50:50jchillerupscorche: come on. for everybody
09:50:59scorchejchillerup: no
09:51:01Lloreanjchillerup: I dunno, many of us found it easy and intuitive.
09:51:02jchillerupyou need to know how the menu works to use it
09:51:08SimonGwell mac isnt easy for a windows user
09:51:37jchillerupComing straight from the ipod bandwagon, you need to wrap your head around a new menu system. That's both true and understandable.
09:51:37SimonGso i guess rockbox isnt "as easy" to begin with
09:51:40scorcheDTU_student: uh...when we become rich?...rockbox is a volunteer project that gets no funding such as that..
09:51:41jchillerupIt is!
09:51:52scorchejchillerup: not all of us came from "the ipod bandwagon"
09:51:54LloreanSimonG: It's easier for some people
09:52:01jchillerupNo you did not, but SimonG and I did.
09:52:03pixelmahooray for generalisations...
09:52:07DTU_studentIt was a joke :P
09:52:10scorchejchillerup: so?
09:52:10LloreanSimonG: How easy it is depends entirely upon how many expectations you bring with you, and whether you're willing to read over the basics in the manual first.
09:52:15jchillerupPlease, people, I'm trying to help this guy.
09:52:36*B4gder tries to confuse him by injecting truths
09:52:40Lloreanjchillerup: But instead you're making stupid generalizations like when you said it's difficult "for everybody"
09:53:09LloreanWhich is patently untrue. It's difficult *for people used to the way the iPod firmware works* if and only if they expect Rockbox to work the same way, and are unable to grasp the differences.
09:53:17scorcheSimonG: as i said before, there are no explicit "cons" because everyone is different and this is a subjective with it for yourself and figure out the cons FOR YOU
09:53:32B4gderI installed rockbox on a ipod video for a 20 year old girl once who never used it before
09:53:34SimonGi wonder who got "acess" to update the rockbox firmware? i mean if some developer makes something genious will he present it for a "rockbox leading developer team" and they will implement it or ?
09:53:36B4gdershe had no problems at all
09:53:56Lloreanscorche: I think the two biggest "cons" are "USB may not always work on the first attempt" and "You can't play DRMed music." Whether they affect your or not, these are two things Rockbox definitely doesn't address (one yet, the other ever)
09:53:58jchillerupB4gder: I didn't either, when I grasped the menu system.
09:53:58scorcheSimonG: we have the tracker and is like many other open source organizations
09:54:18DTU_studentThis chat browser is making my browser freeze :P
09:54:25 Quit DTU_student ("CGI:IRC")
09:55:05scorcheLlorean: right...i mentioned the "subjective experience" as that is what is being talked an example, USB works fine for me and i dont care about DRMed music, so those are not cons for me
09:55:06 Join Sarquah [0] (
09:55:16*Sarquah is DTU_student
09:55:34Lloreanscorche: I think it's important, though, to qualify as "Cons" anything you "lose" from the original firmware.
09:55:47LloreanWhether you use it or not, a reduction in functionality available is a "con"
09:56:06B4gderyou gain the inability to not play drm-polluted music!
09:56:09scorcheLlorean: but i thought their project was on rockbox...not rockbox on the ipod...there are many different original firmwares around
09:56:14LloreanThe cons, though, are different from player to player in the sense that some never supported DRM to begin with, and many have perfectly working USB in Rockbox.
09:56:15 Quit MegafEee ("KVIrc 4.0.0 Insomnia")
09:56:30SimonGim allready convinced that rockbox will only enhance ur audio player. no doubt about it.. but there's allways something that could be improved.. remember nothing is perfect
09:56:51scorcheSimonG: hence why constant development happens...
09:56:56B4gderwe have some 200 open bug reports...
09:57:01Lloreanscorche: You can address this, though, rather than simply saying "Well, I can't guess what they may be for you"
09:58:05scorcheLlorean: right, but as the project (from what they have said earlier) is on "rockbox", they would need to....why are we discussing this betweent he two of us again?
09:58:16SarquahThe picture about the kernel. Isn't more about the scheduler and the threads?
09:58:47B4gderSarquah: our kernel doesn't do a lot more than so ;-)
10:01:59 Part LinusN
10:02:06 Join lasser [0] (
10:06:04 Join rost [0] (
10:08:05rostHi guys, I have an issue with the battery and booting rockbox on my X5
10:08:14 Quit wingmanz ()
10:08:23rostwhen I just keep it on it'll get a playtime of about 4-5 hours
10:08:39rostbut when I shut it down halfway, say 2 hours in it wont boot rockbox
10:08:44rostclaiming the battery is low
10:09:12rostwhen I bootstrap it with the charger and remove the charger I get another two hours of playtime
10:09:22scorcheare you running a current build or 3.0?
10:09:24scorchehave you compared with what you get in the original firmware? may just be a bad battery
10:09:33rostcurrent build
10:09:57rostthe battery does give quite low voltages on boot, but the meter gradually increases when its been on for a while
10:09:59 Quit DerDome (Read error: 145 (Connection timed out))
10:11:00Lloreanrost: If you're only getting 4-5 hours normally, it sounds like your battery is very old.
10:11:20rostit is
10:11:44rostbut my issue is, when I leave it on all the way I get the 4-5 hours no problem
10:11:53rostbut when I restart it halway it wont boot again
10:12:18rostwhile it should have a few hours left
10:12:24LloreanYes, but this is still just an issue with it being an old battery. There's not much Rockbox can do to compensate for it.
10:12:41LloreanIt may have a few hours left, once booted, but it may be having difficulty booting.
10:15:49SarquahI should really install rockbox
10:21:32SimonGwhich video can rockbox not play that other firmwares can?
10:21:53scorcheSimonG: have you read the wiki page PluginMpegplayer ?
10:22:21SimonGyea and its like rockbox can play everything.. or is something left out?
10:22:39scorche......far from it...i suggest you read it again...
10:22:53*GodEater hasn't read a PluginMpegPlayer page which claims Rockbox can play everything
10:23:28B4gdertargets in this context are devices, the hardware
10:23:42scorchetargets?...were you not referring to video types/codecs?
10:24:18SimonGthat was just the page i read, yes scorche thats what im looking for
10:24:35*scorche wonders what is unclear about "It is currently capable of playing back MPEG-1 and MPEG-2 video streams with MPEG audio multiplexed into .mpg files (MPEG Program Stream) and raw MPEG-1 and MPEG-2 video streams."
10:26:00SimonGi cant find the page where i can see what rockbox can play compared to other devices, as far as i remembere this is such a description?
10:26:32B4gderSimonG: scorche just pasted exactly what rockbox can play
10:26:34 Quit Thundercloud (Remote closed the connection)
10:26:49SimonGthere was a page on what rockbox featurred and what the other firmware featrude
10:26:55B4gderyou'll have to reseach what the OFs can play or not
10:27:27scorchethere is this, but it is far from complete or even updated currently likely
10:28:09B4gderand it doesn't compare video formats to any decent extent
10:28:19B4gdereven if it mentions some
10:28:23scorchei would suggest acclimating yourself to the search feature of the wiki or even a google search of ""
10:35:03 Join Darksair [0] (n=user@
10:37:13 Join LinusN [0] (n=linus@rockbox/developer/LinusN)
10:39:45 Join reacocard [0] (n=reacocar@WL-112.CINE.HMC.Edu)
10:45:11 Join einhirn [0] (
10:46:15 Part rost
10:47:30 Quit einhirn (Read error: 104 (Connection reset by peer))
10:48:29SarquahIs it true to say that the kernel has no structure or is it monolithic?
10:49:24 Join einhirn [0] (
10:50:17 Nick fxb__ is now known as fxb (
10:51:08GodEaterSarquah: from looking at your task, it seems to be *you're* supposed to be analyzing Rockbox to discover this information. Not just asking us.
10:51:26SarquahIm analysing
10:52:49SarquahI guess it is monolithic..
10:53:32 Quit einhirn (Read error: 104 (Connection reset by peer))
10:59:37JdGordonhow would people feel about a "repeat last playlist action" (needs a better name) option in the browser context menu at the same level as playlist? It was driving me mad that I wanted to keep doing "insert last" but its a hassle to do more than a few times...
10:59:38 Nick Darksair is now known as Darksair{away} (n=user@
11:00:15 Join MegafEee [0] (n=Linux@unaffiliated/megaf)
11:03:31 Quit MegafEee (Client Quit)
11:03:34kugelJdGordon: do you plan to FS #9514 soon?
11:05:06 Join culture [0] (
11:05:20JdGordonwhats 9514?
11:05:47JdGordonah no... not until its needed
11:06:24*JdGordon would like to have a discussion on the way we all want to do custom viewports for themers though
11:06:57kugelcustom viewports in which way? for lists?
11:07:15JdGordonwell lists are most of the gui so yes, but in general
11:07:24kugelah, I remember. You think we should be able to create a custom vp for each screen
11:09:59kugelJdGordon: I plan to sync my custom list patch soonish, I'm still having problems with statusbar here and there
11:10:04JdGordonB4gder: you want me to commit 9556 if its just waiting for someone who can be bothered patching and ci-in?
11:10:37JdGordonkugel: what sort of problems?
11:10:41kugel(my last sync attempt rendered the statusbar un-update-able)
11:10:57*LinusN is annoyed by the "make zip" dependency......
11:11:42kugelJdGordon: We should probably viewportify the statusbar first
11:11:55*kugel gotta go
11:11:58 Quit kugel ("ChatZilla 0.9.84 [Firefox 3.0.3/2008101315]")
11:12:29 Quit SimonG ("CGI:IRC (EOF)")
11:12:47B4gderLinusN: I think that change is up for revertion anyway, as we're several people who're against it
11:13:12LinusNJdGordon: i'm about to commit it
11:18:05*linuxstb is also annoyed by the make zip dependency
11:19:25*pixelma is still annoyed by failing builds for rombox targets ;)
11:19:49pixelmasometimes under certain circumstances
11:20:17JdGordonplanet alignment...
11:20:49JdGordonpixelma: any ideas how hard (if possible) it would be to dump some text from the manual to a text file for use in a plugin?
11:21:10pixelmano idea
11:21:41 Join dany_21a_ [0] (
11:22:35*B4gder reads about the openmoko removal of code due to mp3 licensing...
11:23:05linuxstbencoder or decoder?
11:23:10B4gderdecoder I believe
11:23:17linuxstbAnd you mean patent licensing?
11:23:19scorchenice thing rockbox isnt based in the US...
11:23:34B4gderlinuxstb: i think so, but it's not clear to me yet
11:24:21pixelmaJdGordon: but if you can do LaTeX > html or pdf then I could imagine that a tool exists that can convert it to txt too. But I don't know too much about it either...
11:25:27B4gderI think they chase after license money even outside the US
11:25:58linuxstbJdGordon: What text do you need?
11:26:57scorcheB4gder: but depending on the laws of the nation, they may or may not be legally forced to license it to use it legally, no?
11:27:04*scorche looks at that sentence a second time
11:29:36linuxstbSo are actually selling devices with their software on?
11:30:03B4gderor at least I don't think they do
11:30:11linuxstbThat's what their home page says
11:30:21linuxstb"Openmoko is currently selling the Neo FreeRunner phone..."
11:30:22*B4gder stand corrected
11:30:52B4gderbut there's a .com and an .org and I don't know how much they share
11:35:52 Join jeffdameth [0] (
11:36:52 Join PaulJam [0] (
11:39:36JdGordonlinuxstb: just a random thought for now...
11:42:01*linuxstb guesses a settings plugin with help text from the manual
11:43:36 Join robin0800 [0] (
11:46:46***Saving seen data "./dancer.seen"
11:50:10 Quit jeffdameth1 (Read error: 113 (No route to host))
11:50:14 Nick fxb is now known as fxb__ ( = OpenMoko, Inc., .org = OpenMoko developers and users community
11:58:45 Join tvelocity [0] (
12:05:12 Join kugel [0] (n=chatzill@unaffiliated/kugel)
12:06:20 Quit Sarquah ()
12:18:08 Part dany_21a_
12:19:09JdGordonkugel: you mentioned viewporting the statusbar before running off before.... I think everyone agrees the statusbar should be wps-ified instead of just reworking it to fit in a viewport
12:21:04 Join dany_21a_ [0] (
12:22:07kugelJdGordon: that doesn't sound contradicting to me
12:23:02kugelDo you think we'll get around putting it into a viewport when wps'ifying?
12:23:22JdGordonI assume both would be done together
12:23:52kugelyes. And I don't think both has to be done with the same patch
12:24:34JdGordonof course not... but there is hardly point doing the viewporting patch until either its wps-ified, or the custom viewport patch (however its done) is finished
12:25:39*JdGordon wants to stir up trouble and suggest the ability to keep the entire screen wps-able with a tag to specify where the list/menu/rest-of-screen should fit
12:25:50JdGordonand keep the wps updated even when not really "in" the wps
12:26:21kugelif I need to viewportify the statusbar for my custom list patch, then I'll do it. But I won't mess with wps'ifying it as well, since it's not what the patchh aims for
12:29:41JdGordonlinuxstb: amiconn: B4gder: LinusN: (anyone else awake)? how would you feel about adding a tick task (or something similar) which would be used to tell stuff like the statusbar to redraw instaed of requiring every screen to manually update it?
12:30:30linuxstbWhat do you mean by "tell the statusbar to redraw" ?
12:30:37kugelJdGordon: keeping the wps updated when it's not shown would be a considerable waste of battery life. 15% difference has been messured in showing the wps vs showing the menu
12:31:12JdGordonlinuxstb: well, to update.. instead of having statusbar_update() in every gui loop
12:31:25linuxstbJdGordon: You mean to actually redraw the status bar in a tick task?
12:31:41JdGordonoh crap.. right.. wrong thread
12:32:39JdGordonis there a nice way to have a background timer in the main thread other than sending a message and using the default event handler?
12:33:12*kugel thinks of a viewport manager which issues refreshing every shown viewport periodically
12:33:40JdGordonI implemented that a while ago but got the impression it was overengineering
12:33:53JdGordonits proably still on the tracker
12:35:13 Join Nico_P [50] (n=nicolas@rockbox/developer/NicoP)
12:36:41JdGordoncant find it
12:37:48 Join moos [0] (
12:38:15 Join tyfoo [0] (
12:38:30 Join DerDome [0] (n=DerDome@
12:39:50 Join Nibbler [0] (
12:40:54 Nick Darksair{away} is now known as Darksair (n=user@
13:11:17*Unhelpful wonders if the extra-large jpeg idct would be a "good" way to bring subsampled chroma planes of jpeg in line with luma
13:20:29 Join bmbl [0] (n=Miranda@unaffiliated/bmbl)
13:24:18 Quit kugel (Read error: 113 (No route to host))
13:27:53 Quit culture (Read error: 104 (Connection reset by peer))
13:40:04 Join culture_ [0] (
13:46:50***Saving seen data "./dancer.seen"
13:50:53 Quit bmbl ("Woah!")
13:52:50 Join Bensawsome [0] (n=Bensawso@unaffiliated/bensawsome)
13:56:06 Join nplus [0] (n=nplus@141.25.Globcom.Net)
13:57:40 Quit DerDome ("Leaving.")
13:58:46 Join kugel [0] (n=chatzill@unaffiliated/kugel)
14:00:13 Join bmbl [0] (n=Miranda@unaffiliated/bmbl)
14:00:49 Part LinusN
14:01:08 Quit culture_ (Connection timed out)
14:01:54 Join Casainho [0] (
14:02:21Casainhohello :-)
14:02:36 Join Schmogel [0] (
14:03:53 Join Strife89 [0] (i=a810ebb0@gateway/web/ajax/
14:04:02CasainhoI am having a problem on a RB port for an ARM MCU, I am having problems with IRQs, system simple hangs when I use them. I made a disassembly and I can't see the IRQ table, can please someone give a look and give opinion? :
14:04:33 Join TheSphinX^ [0] (
14:05:10*Strife89 is curious as to the changes for r19122.
14:05:42Casainhohere is the disassembly:
14:07:03B4gderI don't really understand the question, but none of them seem to have the exception vectors at that address
14:09:34CasainhoB4gder: can you please show me a disassembly of a bootloader.elf, like for example the for the Sansa V2? I would like to compare but I don't have my PC untill next 48 hours...
14:10:36CasainhoB4gder: so the problem must be that... for some reason, the elf file don't have the vectors... hmmm, should I see if on crts.o they are there?
14:11:59B4gderiirc, crt0.S copies the exception vectors to address 0x0
14:12:42 Quit LinuxMafia (Remote closed the connection)
14:12:42UnhelpfulNico_P: i was looking to work on a more commit-ready, album-art-only scaling patch. i'm told you're the one to talk to about the metadata-on-buffer stuff, and i wondered if it would be feasible, when we come to loading the album art, to take a piece of buffer for the final, scaled bitmap, and "borrow" a bit more past that for the scaler's temporary use.
14:14:11linuxstbCasainho: Have you looked at the crt0.S files underneath firmware/target/arm/ in Rockbox? Did you base your crt0.S on one of those?
14:14:39CasainhoB4gder: but my linker script should put them at that address, because SDRAM starts at it: −−−−
14:15:08Casainholinuxstb: please see that 2 files :-)
14:16:15 Quit tyfoo ("Carpe diem")
14:16:56Unhelpfulalso, what's being borrowed is one line of data in the input size, and several in the output size, if that matters - not enough to load the whole bitmap into buffer.
14:17:43linuxstbCasainho: Please see the Rockbox source code ;) If you worked by modifying existing Rockbox files, things would be much simpler for you.
14:18:16linuxstbBut the problem is that your linker script is putting .vectors in the wrong place
14:18:45Casainhooh, I am seeing now... I am putting the section .vectors very after DRAMORIG... may that is the problem! :-(
14:19:28Casainholinuxstb: eheh - seems that :-) I need to work on linker script then ;-) :-) thank you all :-)
14:20:09linuxstbI'll say it again - it will be easier if you start from Rockbox code, and adapt existing files, rather then starting from other source code.
14:20:35linuxstbRockbox has plenty of working crt0.S and combinations for you to use.
14:22:21Casainholinuxstb: but I don't have any explanation of how linker script works on Rockbox pages, but I have that explanation on other example source codes, that's why I am doing like this :-)
14:22:37B4gderCasainho: we're a large crowd here who can explain
14:22:42B4gderand the lds scripts work the same all over
14:22:56linuxstbYou could also use the explanations on your example files to help you understand how the Rockbox files work.
14:23:00B4gder... they put sections in various places in the output
14:23:24linuxstbYou will eventually need to understand Rockbox code if you want to port Rockbox to your hardware.
14:24:17Casainhoand I am learning, but not taking the straight path... because I even don't know how is it, I am learning.... :-)
14:24:25Casainhothank you :-)
14:28:19Casainhobye bye :-)
14:28:23 Quit Casainho ("ChatZilla 0.9.83 [Firefox 3.0.4/2008102920]")
14:30:06kugelUnhelpful: I'm not sure why you now start to make your own bmp resize
14:30:06 Quit kugel (Remote closed the connection)
14:30:32 Join kugel [0] (n=chatzill@unaffiliated/kugel)
14:34:45 Quit super (Read error: 104 (Connection reset by peer))
14:36:10Unhelpfulkugel: i've been given the impression that reducing the binsize cost will make resize-on-load more commit friendly. stripping out special cases not related to album art will do that. using dynamically allocated scratch space from the buffer will help as well, will it not?
14:37:06Unhelpfuli'm not talking about a complete fresh start, more along the lines of reworking the existing patchset to achieve these goals
14:37:34kugelwhy should we limit the resize feature to album art?
14:38:27Unhelpfulbecause it will satisfy the vast majority of people who want it at all, and limiting the feature will allow the various space savings i mention.
14:38:56kugelalso, who says the current patch on the tracker is not commit friendly?
14:39:44kugelwe already had a patch which was album art only and used the audio buffer in the pre-buffer phase for temporary cache
14:39:51kugelthat was rejected
14:39:53Unhelpfulthat seems to be what i'm hearing?
14:40:08Unhelpfulthat patch loaded the whole bitmap into the buffer. this would not.
14:40:31 Join funman [0] (
14:40:35kugelthat doesn't matter since it's using the audio buffer until it's filled
14:41:07kugelloading the whole bitmap or not doesn't reduce memory free for buffering
14:41:37kugelthat's only the case if you're going to a dedicated buffer
14:41:42Unhelpfulkugel: it does if the bitmap is not large enough to fit, but the scaled bitmap + file would be.
14:41:49 Nick JdGordon is now known as JdGordon|zzz (n=jonno@rockbox/developer/JdGordon)
14:42:08n1sbitmaps can take a fair bit of memory so i agree
14:42:14*B4gder agrees too
14:42:26B4gder2500x2500 was mentioned before and they can be superhuge
14:42:56Unhelpfuleven 500x500 3/4MB
14:43:23kugelbut that 3/4 are available for audio after the resizing happened
14:43:26n1s2500² in 24 bit would take ~18MB :)
14:43:47Unhelpfulkugel: not if there aren't 3/4MB available
14:43:50B4gderhopefully a jpeg is compressed ;-)
14:44:25*linuxstb thinks something wrong when the cover art is larger than the track...
14:44:31 Join super [0] (
14:44:49B4gdercover art inside the track is wrong by definition imho, as that puts the same art in 10-15 tracks or so
14:45:10kugelUnhelpful: I would it find much better if you contributed to the patch that makes resizing available for different usages
14:45:17Unhelpfullinuxstb: depends, if it's jpeg and decompressed is larger than the track, i'm not sure that's quite as wrong.
14:45:34linuxstbUnhelpful: Yes, I thought of that case after I said it...
14:45:37Unhelpfulkugel: i'll start there, but i'll definitely not be able to achieve the same reduction for that.
14:45:54 Quit amiconn (Nick collision from services.)
14:46:00 Join amiconn [50] (n=jens@rockbox/developer/amiconn)
14:46:18B4gderI think a streamlined specified purpose implementation is better than a half-decent generic one
14:46:44kugelwhy half-decent?
14:46:46B4gderas we don't have any particular jpeg scaling need in the core
14:47:00 Quit funman ("leaving")
14:47:16UnhelpfulB4gder: in the jpeg case, the scaler needs whole lines, and 8x8 macroblocks need to be decoded at once. so the one line of input width turns into 8... but still not the entire file worth.
14:47:19B4gderI think Unhelpful's way is the way and wasting/assuming audio buffer is half-decent
14:47:57UnhelpfulB4gder: the current generic resize patch doesn't do that, it uses fixed-size line buffers, i believe.
14:48:15B4gderthen I misunderstood
14:48:52kugelB4gder: the current resize patch is also resize on load. The difference is that it can be used in a more generic way
14:51:18n1skugel: where else do we need resizing?
14:51:27Unhelpfulkugel: what else in the core needs a more generic scaler? i was given the impression that if a more generic scaler would make the core binsize too much larger, that that should be in the plugin lib, and a less generic, smaller one could go in core.
14:51:57Unhelpfuln1s: right now, i believe the resize patch handles backdrops, icons, etc?
14:52:35 Quit markun (Read error: 104 (Connection reset by peer))
14:52:52n1ssince icons are tiny i expect the result to be quite bad and backdrops should be part of a theme so prepared at the right size
14:52:53kugeliconsets to fit the fonts are an example. Also future features could use it
14:53:11kugeln1s: then you take bigger iconsets and scale them down
14:53:27kugelUnhelpful: have you tested how much binsize you safe?
14:53:36Unhelpfulkugel: a small target or source size will make the area scaler results look not so good.
14:53:47kugelagainst the bmp resize patch?
14:53:52Unhelpfulkugel: how am i supposed to test that without actually writing it?
14:54:00Unhelpfulwhich is why i was asking Nico_P :/
14:54:09linuxstbThe static buffer used by the current resize patch is (I think) something like 15KB - so the question is whether we think that's acceptable for the core. But that could be reduced by removing the area sampling version of the resize (that's the version that requires the largest working buffer).
14:54:14kugelI have the feeling you don't safe that much
14:54:41Unhelpfullinuxstb: area sampler can be reworked for a *much* smaller buffer.
14:54:58kugelyep, especially if you unify the feature set (e.g. removing area sampling)
14:55:11 Join markun [50] (n=markun@rockbox/developer/markun)
14:55:21Unhelpfularea sampler is the only half-decent one if you're downscaling by more than 2x
14:55:31B4gderit still makes sense to use the m-o-b to put the art
14:55:34Unhelpfulbilinear is not a good scaler in that case.
14:55:35linuxstbkugel: The area sampler uses 5 cache lines, the bilinear one 2 lines.
14:56:10kugeldoes anyone know why we need full lines?
14:56:27kugelshouldn't the "right" resize be independant in both width and height?
14:56:43 Join LambdaCalculus37 [0] (i=44a04303@gateway/web/ajax/
14:56:46Unhelpfullinuxstb: it can be done with one cache line easily, for any area size, and with a partial cache line a bit harder.
14:57:15kugelUnhelpful: actually I think scaling by more than 2x will be the typical usecase
14:57:32kugel(except for high res display targets maybe)
14:57:55Unhelpfulkugel: i thought so as well, which means the area sampler must stay.
14:58:59Unhelpfulalso, a resampler will either need a whole line at once, or if it uses chunks, the ability to request the same chunk of at least two different lines.
14:59:05kugelUnhelpful: can you tell me why full-width cache lines are needed?
14:59:48Unhelpful... i think i *might* know a way to chunk the bilinear sampler, as well. :D
14:59:58linuxstbUnhelpful: So you're thinking of the resampler requesting image data, rather than the image loader calling the resampler?
15:00:53Unhelpfullinuxstb: yes, or the loader having a sampler state that it passes to the sampler, along with one line of image at a time.
15:02:27Unhelpfulkugel: it will be much harder for jpeg, which will be decoding 8 lines at a time, when the sampler needs the next chunk of the first line or two. you'd almost have to decode macroblocks on request (and several times) or cache an entire row of them.
15:05:50 Quit kugel (Remote closed the connection)
15:06:06 Quit Strife89 (" Class time.")
15:07:53 Join __lifeless [0] (n=lifeless@
15:17:30 Quit _lifeless (Read error: 110 (Connection timed out))
15:19:48amiconnUnhelpful: You cannot go back & forth in a jpeg file, because the data is huffman coded. It also looks like the macroblocks for Y, U and V can be ordered in several ways
15:28:54 Join jgarvey [0] (
15:37:47 Join petur [50] (n=petur@rockbox/developer/petur)
15:40:13 Quit moos ("reboot")
15:46:44 Quit JdGordon|zzz (Read error: 110 (Connection timed out))
15:46:52***Saving seen data "./dancer.seen"
15:48:14 Join moos [0] (
15:53:11 Quit dany_21a_ (Remote closed the connection)
15:53:33 Join dany_21a_ [0] (
15:58:29 Join tyfoo [0] (
15:58:34 Join Acksaw [0] (
15:58:52 Join funman [0] (
16:02:44 Join MethoS [0] (
16:05:28 Join kugel [0] (n=chatzill@unaffiliated/kugel)
16:06:26funmankugel: is the SD driver fine on the FuZe, for the embedded SD ?
16:06:52kugelfunman: let me try again. Haven't since your commit
16:13:25Unhelpfulamiconn: it's *possible*, if you build a macroblock index... doesn't jpeg use one huffman table for the whole file, or at least per-plane?
16:15:34 Quit bmbl ("Woah!")
16:15:42 Quit lasser ("ChatZilla 0.9.83 [Iceweasel 3.0.3/2008092816]")
16:16:05 Quit Acky (Connection timed out)
16:17:00n1shmm, getting rid of a useless memcpy in midiplayer did nothing for performance, and utilizing the multipliers early termination gave only a slight improvement...
16:17:32funmanisn't there some tools for profiling rockbox ?
16:17:58n1syes, i guess that's what i'll have to do
16:18:18linuxstbIs there any asm in it at the moment?
16:19:27n1slinuxstb: nope, I made a stupid little inline function for doing MUL with expclicit operand ordering and got a small improvement
16:20:02 Nick fxb__ is now known as fxb (
16:20:57linuxstbWhat does the midi player actually do? I thought it "simply" played instrument samples and mixed them. Or does it need to do lots of DSP-like processing?
16:23:00Unhelpfullinuxstb: yes, instrument samples may need stretched and pitch-shifted to the correct duration and tone, i believe?
16:24:36n1slinuxstb: it does a fair bit of multiplication, but i'm not so sure that's the major bottleneck
16:28:47 Quit TheSphinX^ (Remote closed the connection)
16:31:20n1sIt kind of feels like some big simplification is missing but i can't tell what it should be, ideas are welcome
16:34:24 Join ap0 [0] (
16:37:55dany_21a_hi funman, i have the recent svn trunk on my fuze some houres ago... in my case it stucks after "Loading firmware" appears...
16:38:00funmansome files in firmware/target/arm/tms320dm320/dsp have windows line terminators. Is that allowed ?
16:38:29funmandany_21a_: hello, did you make sure the whole FAT filesystem was within the 1st GB ?
16:38:34agaffneyif nothing bitches...
16:39:00dany_21a_i have inserted some printf into the bootloader in found that it stuck at the fd = open(filename, O_RDONLY); in common.c:210
16:39:04dany_21a_funman: uhm... no
16:39:16dany_21a_okay... how can i do this?
16:39:27 Quit Bensawsome (Read error: 60 (Operation timed out))
16:39:39funmanI believe just create a 900MB partition at the beginning of the disk
16:39:44kugeldany_21a_: I formatted my fuze and put nothing but the .rockbox dir on it
16:40:19dany_21a_kugel okay... will try that
16:40:47 Join TheSphinX^ [0] (
16:40:55*kugel wonders if fdinel/atomicpunk has some success with the buttons
16:45:12 Join Bensawsome [0] (n=Bensawso@unaffiliated/bensawsome)
16:45:59 Join linuxstb_ [0] (n=linuxstb@rockbox/developer/linuxstb)
16:46:11 Quit linuxstb (Nick collision from services.)
16:46:11 Join toffe82 [0] (
16:46:13 Nick linuxstb_ is now known as linuxstb (n=linuxstb@rockbox/developer/linuxstb)
16:46:14kugelHey, abi is doing a survey about audio formats. Something that rockbox should do too imho
16:46:43n1sfunman: no, windows linene endings are not allowed
16:46:57B4gderkugel: why?
16:47:14linuxstbB4gder: So we can do lots of nice statistics...
16:47:19LambdaCalculus37funman: Those need to be fixed to have Unix line terminators.
16:47:27B4gderstatistics! yay
16:47:32kugelwith nice colorful pie charts etc
16:48:02funmandoesn't svn properties include a useful eol-style ? (i remember it was not so useful but i can be wrong)
16:48:15 Quit ap0 ("Ba")
16:48:23n1sfunman: it does
16:48:39n1seol-style: native should be used
16:48:41linuxstbBut it doesn't seem to be consistently used everywhere in Rockbox.
16:48:48funmantoo bad i can't set svn properties with git-svn
16:48:49linuxstbWhat's the default then, if that's not there?
16:49:10funmani would expect keep original line ending
16:49:15n1slinuxstb: default seems to be no properties set at all
16:49:18 Join gregorovius [0] (
16:50:10Nico_PUnhelpful: hi
16:50:11dany_21a_funman: yep, the 1GB was the problem... formatted the disk with 500MB now it works... ahm... comes to "ATA error: -2" (have rebooted 5 times)
16:50:24 Join Bensawesome [0] (n=Bensawso@unaffiliated/bensawsome)
16:50:35 Quit markun ("leaving")
16:50:51funmanon something completely different: the dma controller in sansa ams has 2 channels, I expect one to be used for pcm playback and one for SD transfers. But then we couldn't use it for PCM recording: is parallel recording and playback an existing/common feature in rockbox targets ?
16:51:01 Quit Bensawesome (Client Quit)
16:51:17linuxstbNo, it doesn't exist yet - other targets also have limited numbers of DMA channels.
16:51:52funmandany_21a_: that error must mean that the initialization of the SD slot failed (probably if you have no SD card inserted). I don't know how to fix that since I have no SD slot, perhaps you can look ?
16:52:44kugeldany_21a_: you need to remove that return in the external sd init
16:53:05kugelfunman: I've put a quick fix for that to pastebin a few days ago
16:53:21dany_21a_funman: again true, if i put a MSD into the slot it came some steps further
16:53:35funmankugel: i don't know how rockbox handle SD cards either, so you need to speak with the other devs. (*looks at linuxstb*)
16:54:18kugelfunman: it's just that the sd init returns the init of the (optional!) microsd failed
16:54:20dany_21a_now i see s shiftet screen with *PANIC* Correct status 0x20 (actually only see "orrect"−−- i guess this means correct?)
16:54:38linuxstbfunman: I can't help - I've never worked with SD cards in Rockbox.
16:55:39funmankugel: ok looks simple enough to fix
16:55:56kugelfunman: removing that return will still init the microsd, but not error out if it failed
16:57:21dany_21a_funman, kugel any idea why this wont work? normaly i should see a change on GPIOA when plug/unplug USB-power...or?
16:58:22kugeldany_21a_: I don't know what reset_screen() is. Try lcd_update()
16:58:47dany_21a_kugel: i see the printf correct (the counter is counting up)
16:59:33kugeldany_21a_: I'm not the gpio expert. But afaik you cannot read and write them at the same time.
17:00:09kugelso you would switch the to read every 100ms or so and printf them, and between you set it to write
17:00:50kugelbut other people will be able to help you more I'm sure
17:01:05dany_21a_i just wanted to only read them... and those pins which set as output should not interfere with this
17:01:33funmandany_21a_: the delay is *way* too fast
17:01:46funmaniirc a 0x1000000 counter is ~1s
17:02:10kugelI don't think so
17:02:21funmani don't think either, i'm sure ;)
17:02:29dany_21a_the reset_sreen takse also quite a time... the counter increases about at a 1/10th of secound
17:02:37kugelbut it's been some time since I played around with delays so..
17:03:12dany_21a_ie. i see the wanted output line correct... but the presented data does not change ...
17:03:21 Join linuxstb_ [0] (n=linuxstb@rockbox/developer/linuxstb)
17:04:05funmandany_21a_: I record reading the 8 pins from the same register (3FC) was buggy, and this is why we read them from one register per pin
17:04:30 Quit linuxstb (Read error: 104 (Connection reset by peer))
17:04:39 Nick linuxstb_ is now known as linuxstb (n=linuxstb@rockbox/developer/linuxstb)
17:05:16dany_21a_i also thought that this might be a problem... but could hardly belive it... as it presents valid looking data (eg. not all the same, not all zero, and not all 0xff) - but maybe ill try pin-by-pin
17:06:02kugeldany_21a_: trying to get something to know about the buttons too?
17:06:10dany_21a_yep :)
17:06:55funmankugel: I committed your fix for the SD slot
17:09:28funmanthanks :) don't hesitate to shout on me when you have patches :p
17:09:58kugelfunman: I will, you know it.
17:10:58kugelB4gder, linuxstb, anyone: want to look at ?
17:11:15kugelthat'd be particulary usefull to boot from the microsd
17:13:29kugelfunman: oh thanks for the credits. but I suppose real names are liked more (not that I need the credit at all :p )
17:13:57gevaertskugel: I'd do s/warning/error/
17:14:11kugelfunman: I see, you didn't like the comment
17:14:21linuxstbfunman: Yes, please use people's real names in commit messages
17:15:41kugelgevaerts: I made it a warning since it will still search (in / ) for the binary
17:16:21funmankugel: ok next time i'll put your name; and in fact I fixed it before looking at your patch so i didn't add the comment :P
17:16:35kugelah ok
17:17:24funmangevaerts: or nothing at all, it will error if it's not defined anyway
17:18:40 Quit funman ("leaving")
17:18:44gevaertsThat too
17:19:27linuxstbAnd shouldn't it go in all the other bootloaders as well?
17:19:28kugeleither way, would be nice if committed
17:19:53kugellinuxstb: isn't load_firmware used by all bootloaders
17:20:04linuxstbgrep for ".rockbox" in that directory...
17:21:37kugelwell, seems it was stupid to think fixing that in common.c would fix it for all bootloader
17:21:47*kugel goes to have a look
17:23:03linuxstbThe main-pp.c bootloader is a special case - it loads firmwares in .mi4 format, not the standard Rockbox format. I've no idea what the gigabeast bootloader is up to...
17:24:35linuxstbIt seems to be trying /.rockbox/.rockbox/rockbox.gigabeat
17:24:43n1sthe bootloaders are a mess of different styles and features
17:25:12linuxstbThen //.rockbox/rockbox.gigabeat
17:26:21kugelgevaerts: add #define BOOTDIR "/.rockbox" after the warning or remove it alltogether?
17:26:59gevaertskugel: IMO remove it
17:27:03n1slinuxstb: that is weird but could be a leftover from when we had to send rockbox.gigabeat over MTP
17:27:12gregoroviusjust curious, but do you think it's possible for rockbox to support the video accel chip on the 5g ipods? likely?
17:28:01n1sgregorovius: possible, yes likely to happen, no (unless we somehow get the docs)
17:28:08linuxstbn1s: No, I think it's a mistake - it's calling the common load_firmware() function, but passing in "/.rockbox" as part of the filename, which it shouldn't do.
17:30:11gregoroviusn1s: reverse-engineering is not possible?
17:31:41linuxstbgregorovius: I think the problem is simply that no-one is very interested - it's just one target amongst the 28 or so that Rockbox runs on, so it's a lot of work for one specific target.
17:31:51n1sgregorovius: it is _technically_ possible but as i said it is unlikely to happen unless we get the docs and afaik amiconn had a brief glance at the code it runs and concluded that it was not arm/m68k/sh or mips so a whole new arch for us
17:32:30J-23hmm, why sd_init detects if SD card is present?
17:32:37J-23internal SD is *always* in the slot
17:33:05gregoroviushm, I see
17:36:18kugellinuxstb: indeed
17:36:34kugellinuxstb: I'll have that fixed
17:36:44kugelbut I wonder what apple_os.ipod is
17:39:04 Join {phoenix} [0] (
17:40:14 Join herrwaldo [0] (
17:40:59 Join sarixe [0] (
17:42:06J-23I get to menu on my e280v2
17:42:46linuxstbkugel: That's the Apple firmware for ipods...
17:43:01gregoroviusone more q: I guess rockbox reads files in any standard artist/album/track structure or similar, and if I understand correctly the original ipod firmare uses a convoluted dir. structure... so rockbox can read music in the itunes structure, but not the opposite?
17:43:21 Quit moos ("Rockbox rules the DAP world")
17:43:50B4gdergregorovius: rockbox reads music files wherever you want it to
17:43:52 Quit aarcane ("Leaving")
17:44:07B4gderso yes it can read ipod's way but not vice versa
17:44:13kugellinuxstb: I expected that. I don't know how exactly the bootloader works for ipods, so I didn't know the apple of is dumped to a .ipod (or whatever)
17:44:31kugelanyway. I've updated the patch
17:44:40B4gdergregorovius: but the ipod OF messes up the file names and places badly so if you want to keep them like that you want to use the database in rockbox
17:45:17linuxstbkugel: It's not normally - that's an optional way to dualboot.
17:45:29kugelah ok
17:45:32gregoroviusI see, thanks
17:45:44*kugel deleted one slash too much
17:46:53***Saving seen data "./dancer.seen"
17:50:24kugelok, that should be done now
17:51:21kugellinuxstb, gevaerts: I think it's fine now
17:52:56kugelno, now!
17:53:11kugelbeing lazy doesn't pay off
17:53:51J-23and being crazy does ;)
18:06:32 Part B4gder
18:06:41 Join einhirn [0] (
18:12:33 Join faemir [0] (
18:23:20 Quit gregorovius (Success)
18:35:14amiconnn1s: According to the .elf header, the machine id for the VideoCore is 0x5f - and that's an unknwon id according to the info about .elf I could find
18:35:25 Join beta [0] (
18:35:52n1samiconn: aha, so probably some proprietary dsp instruction set?
18:36:27amiconnTest-disassembling with mips and arm objdump didn't produce meaningful code
18:36:42amiconnYes, I think it's some custom dsp
18:36:53 Join dabujo [0] (
18:39:07kugeldany_21a_: qphow's it going?
18:42:49n1samiconn: so even with docs if someone wanted to code for it they would need to create an assembler or write raw code themselves, not fun :/
18:44:28*n1s has some limited success with this midi stuff, my testfile now skips less than half as bad as it used to :)
18:44:52dany_21a_not much... did some googeling if i find someting about how to scan the APB bus for all the PrimeCells (their datasheet suggests that this is possible), only to check if Sandisk has further modified the SoC (beside the secon SD/MMC interface)
18:45:06dany_21a_no luck so far, (^ kugel)
18:45:47linuxstbn1s: Probably a more feasible approach would be to reverse-engineer the API the main Apple firmware uses to communicate with the broadcom chip, but at best that would just let us do exactly what Apple do with it.
18:46:07n1slinuxstb: true
18:46:36n1sbut i guess that's what most of the users want anyway... not that that matters :)
18:47:18 Quit Darksair ("Do you hear that? This is the sound of inevitability. This is the sound of your death, Mr. Anderson.")
18:48:12 Join Lear [0] (i=chatzill@rockbox/developer/lear)
18:50:01amiconnlinuxstb: The names of the library files are interesting. It seems like there is a complete mpeg4 decoder, including aac audio, and that aac decoder passes the pcm stream back to the cpu
18:50:23amiconnh264 fwiw
18:51:20 Join bmbl [0] (n=Miranda@unaffiliated/bmbl)
18:51:34linuxstbamiconn: Yes, I noticed those.
18:51:54kugelOk, the OF does NOT like altered partition table
18:53:03kugelI think I broke my fuze
18:53:42kugeldany_21a_: did your gpio stuff not work?
18:57:18kugeldo not, ever, try to format your fuze with gparted
18:59:14 Quit ameyer ("leaving")
18:59:53 Join BigBambi [0] (n=Alex@rockbox/staff/BigBambi)
19:00:10 Quit bmbl (Client Quit)
19:01:03 Join captainkewl [0] (i=2669ecc2@gateway/web/ajax/
19:06:35kugeldany_21a_: ping
19:07:13 Join maffe [0] (
19:10:20dany_21a_kugel: the disk you see over usb shouldnt contain a partition-table, its a plain gparted is not good :)
19:10:46kugeldany_21a_: duh, I rescued it...using windows
19:11:01dany_21a_kugel: I used "sudo mkfs.vfat -I /dev/sdf 50000" to create a 500MB partition
19:11:30kugelI definitely should've asked you before
19:11:40kugeldany_21a_: so you got nothing with the gpio scan?
19:11:53dany_21a_still at it...
19:11:58dany_21a_how did you recover?
19:12:02kugeldid you at least receive the usb insertion yet?
19:12:15kugeldany_21a_: well, windows format seems to work flawlessly
19:12:50kugelalthough I damaged it even more selecting a cluster size, instead of just saying "standardsize"
19:13:05kugelbut the of booted, and the pc got it.
19:13:49kugeldany_21a_: I think I were able to recover it with a dump you would've sent me :)
19:15:25 Quit maffe ("IRC ist obsolet!")
19:15:58dany_21a_still see no reaction on usb power... but i'am now able to scan for APB-Blocks... just have to check what the reported ID's mean... so far nothing surprising found
19:16:32 Join domonoky [0] (n=Domonoky@rockbox/developer/domonoky)
19:16:40 Part domonoky
19:16:45 Join domonoky [0] (n=Domonoky@rockbox/developer/domonoky)
19:18:03 Quit robin0800 (Success)
19:22:53 Join maffe [0] (
19:25:16 Join bertrik [0] (
19:27:35 Quit tyfoo ("Carpe diem")
19:30:00 Quit sarixe ("Ex-Chat")
19:32:10 Join Horscht [0] (n=Horscht@xbmc/user/horscht)
19:40:13Unhelpfulok... scaling up or down, possibly independently on each axis, with lines the size of the maximum screen dimension, should be doable w/ two of those lines (but of a larger intermediate type), and a line of however many pixels of input you want to accept at once. i *think* it is possible, but some of it too complicated for me to be sure until i have it on paper. i guess the question is, would the binsize minders consider th
19:40:13Unhelpfulose small fixed buffers acceptable, and would the want-it-for-general-use people be happy with that, and the limitation that it can't output at sizes bigger than the screen?
19:41:26Unhelpfuli'll work on another test app when i have time, since i think the design will be useful even if we're going to insist on using buffer space for the temp data.
19:44:35 Join miepchen^schlaf [0] (
19:46:58***Saving seen data "./dancer.seen"
19:47:01 Join culture_ [0] (
19:48:37 Join DerDome [0] (
19:48:39J-23argh :D
19:48:47J-23dany_21a_: you probably need to reformat your player
19:50:18dany_21a_J-23... nooo dont want to :) (maybe you mean kugel)
19:50:32dany_21a_btw, kugel... did you recover your player now or not?
19:50:40J-2316.37.55 # <dany_21a_> hi funman, i have the recent svn trunk on my fuze some houres ago... in my case it stucks after "Loading firmware" appears...
19:51:39dany_21a_ah.. okay - solved that error by formating the partion as a ~500MB vfat
20:00:40 Join ibseo [0] (
20:01:38 Quit maffe ("IRC ist obsolet!")
20:01:53amiconnUnhelpful: I think 2 lcd-width lines of buffer are perfectly okay. I guess intermediate type is 32 bit for speed?
20:02:18domonokyhm, sd-driver on v2 works now really nice on m200v4. But it still could potentially yield() when the interrupts are disabled..
20:02:58amiconndomonoky: Then the next step should be to get rid of the interupt disabling
20:03:28domonokyamiconn: yes, thats getting the DMA controller to work... i still need to read up more on it...
20:06:59 Quit einhirn ("Miranda IM! Smaller, Faster, Easier.")
20:11:23 Quit __lifeless (Read error: 104 (Connection reset by peer))
20:11:26 Join _lifeless [0] (n=lifeless@
20:15:41 Join Thundercloud [0] (
20:17:57kugeldany_21a_: yes
20:26:13 Join darkham [0] (
20:26:33 Join markun [50] (n=markun@rockbox/developer/markun)
20:26:55 Join funman [0] (
20:27:42 Join mia38 [0] (
20:29:46 Quit TheSphinX^ ("XChat@Linux")
20:30:32kugeldany_21a_: did you already see the main menu?
20:30:55kugelI saw it once, shorty (followed by a data abort)
20:31:28 Join mia-38 [0] (
20:31:47 Quit mia38 (Client Quit)
20:32:26 Quit ibseo ("quit")
20:33:13 Quit mia-38 (Client Quit)
20:33:30dany_21a_kugel: no... havent seen the menu sofar on my fuze :/
20:33:59funmankugel: strange, did you check where in the binary this data abort happened (with objdump on rockbox.elf) ?
20:34:36 Join bmbl [0] (n=Miranda@unaffiliated/bmbl)
20:34:42kugelfunman: no. I'm experiencing many data aborts trying to boot rockbox
20:35:47 Quit Schmogel (Read error: 104 (Connection reset by peer))
20:36:34kugelfunman: that was before your commit (with domonoky's diff though)
20:37:48domonokyit seems the fuze has other/different problems.. the sd-driver is very stable on m200v4 now..
20:37:53kugelfunman: here's my discussion with domonoky. I somewhere mention the adress of the data aborts
20:39:05domonokykugel: is the sd-driver in the bootloader working reliable ? (ie no checksum errors? )
20:39:28funmanthe adress is useless without the binary, but i suppose with the commit which really make sd_write_sectors() fail it's gone
20:40:09kugeldomonoky: I'm right know trying svn
20:41:51funmandomonoky: i started reading the pl081 (dma controller) datasheet, but i've no prior experience with dma
20:42:06kugelfunman: another problem on the fuze is that the display is shifted left by some 15-20px
20:42:07domonokyfunman: same for me :-)
20:42:52 Join jhulst [0] (n=jhulst@unaffiliated/jhulst)
20:43:10funmankugel: perhaps the screen is smaller than the controller's area. Try to do precise mesures with lcd_draw_(h|v)line and look at how it is done in the Clip LCD driver (it's shifted by 2 pixels)
20:43:44funmandraw a vertical line at offset x, see if it's displayed. draw at offset x+1, ..
20:43:56kugelfunman: it only happens in the binary (not in the bootloader) as far as I can see
20:44:57funmandomonoky: perhaps this can be useful:"> :)
20:45:05kugelbtw: svn gives me: incorrect status 0x20 (well, I can only see orrect status, but going after your commit it can only be line 599 (incorrect status)
20:45:59domonokykugel: 0x20 is the fifo overrun, i think. strange.
20:46:22funmankugel: do you have the pl180 datasheet ? 0x20 is bit 5 set: RXOVERRUN
20:46:39kugelno, I don't have this
20:47:01funmanyou should test this bit, and jump with goto just before sending the SD_STOP_TRANSMISSION command
20:47:56funmansee the description of MCIStatus register for the meaning of each bit
20:48:12domonokybut seems strange that he is getting overruns when we busyloop and have interrupts disabled.. is the sd interface so fast that we miss it in this few instructions ?
20:48:43funmanthe peripheral clock is running at 64MHz, no idea about the 'mclk' clock used in the pl180
20:49:44kugelfunman: could it be related to the wrongly recognized capacity? I haven't changed anything regarding that yet. And I also didn't create a <1GB partition
20:49:51 Join AndyIL [0] (i=AndyI@
20:50:41 Nick scorche|1h is now known as scorche|sh (
20:51:18funmanI don't think so, but you will confirm, won't you ? :)
20:58:09Unhelpfulamiconn: is 32-bit going to be fastest, generally?
21:00:48linuxstbkugel: Regarding your LCD offset problem, try swapping "0" and "20" in the lcd_set_flip() function in lcd-fuze.c
21:01:26 Quit AndyI (Read error: 110 (Connection timed out))
21:03:31funmanwhich records me some lcd functions are still to be done for the sansa clip ...
21:03:38Unhelpfulhrm, C locals go on the stack, right? would buffer of that size on the stack be a problem, or should there be a single global buffer (which will also make the scaler non-reentrant, of course)
21:04:02kugellinuxstb: yep that did it
21:06:30linuxstbkugel: OK, thanks. I'll commit.
21:07:17kugelfunman: I suppose the sd driver is stable. The bootloader executes rockbox on every try. Just the main binary fails
21:07:39kugeli.e. it says executing just fine
21:07:58kugelfunman: btw: the 10s poweroff is rather annoying imho
21:08:18funmanthe bootloader use of sd is simple enough to not trigger much problems
21:08:36funmankugel: not being able to use the power button is more annoying for me
21:08:57domonokykugel: why is it annoying ? it allows us to use the menu/power button.. (not on fuze of course :-) )
21:09:17 Join sin613 [0] (
21:09:18kugeldomonoky: well, as long as I only get panicfs I'd rather have a fast shutdown :p
21:09:48domonokykugel: and you can easily put a if def around it, on your local code...
21:09:51funmanyou could but a delay and then a power_off() into panicf() ?
21:12:48funmanof course domonoky solution is simpler
21:14:18*linuxstb isn't sure how we would want to use the power button on the clip though
21:16:05funmanit's stop/go back in the keymap at the moment, but feel free to modify it :)
21:17:16linuxstbThat seems about as good as anything...
21:18:52 Join lasser [0] (
21:19:55kugelI'd agree to have it has generic stop button for all screens
21:20:42funmanit could have another function, i really don't want to mess with the keymap.
21:23:07 Join aarcane [0] (
21:26:09 Join fml [0] (n=4fd3c724@gateway/web/cgi-irc/
21:26:44fmlHello. Anyone here to commit FS #9557?
21:31:55 Quit Nibbler (Read error: 104 (Connection reset by peer))
21:34:59 Quit nplus (Remote closed the connection)
21:37:04 Join Aicart [0] (n=aideb@unaffiliated/aicart)
21:37:19AicartCan I restore my ipod without Itunes ?
21:38:05BigBambiYes, one mo
21:38:10 Quit denes_ (Read error: 113 (No route to host))
21:38:39 Join denes_ [0] (
21:39:29Aicartoh thanks :)
21:42:12 Quit {phoenix} (Read error: 104 (Connection reset by peer))
21:46:37 Join Strife89 [0] (n=michael@
21:46:59***Saving seen data "./dancer.seen"
21:48:26 Quit lasser (Read error: 110 (Connection timed out))
21:48:36dany_21a_funman: i get that "incorrect state 0x20" when the function sd_read_sectors gets called with incount=1 could that be a path to a bug? (ie. a off by one or smth. I dont fully (nearly anyhow) understand the sd-transfer code)
21:49:24dany_21a_(actually the state is 0x22A020 - so the half-full-bit is set
21:49:38funmanthe SD controller fills the FIFO. so we wait until it's half full, and read the half, then we wait again, read etc ..
21:49:40 Join Nibbler [0] (
21:50:05funmanwhen the FIFO is full and the controller tries to write data, the rx overrun bit is set to notify that we have lost some data
21:50:59funmani means we were not fast enough to read/empty the FIFO to leave room for further data read
21:51:08dany_21a_okay... could the incount=1 (and therfore half means 1/2=0) make problems?
21:51:22 Join ap0 [0] (
21:51:25funmanno, incount is a number of sectors (512 bytes)
21:51:51funmanthe FIFO is 16*32 bits wide and we read the half (8 32 bits words) at each time
21:51:51 Join massiveH [0] (
21:52:29funmanif you see the rxoverrun bit set, goto just before the send_cmd(.. SD_STOP_TRANSMISSION) to try again to transfer this full sector
21:52:33 Join draft [0] (
21:52:37funmanor group of 1-127 sectors
21:52:51draftis there any way to format iPod Mini's memory from Rockbox?
21:53:05drafti think it might have some bad sectors or something
21:54:35dany_21a_can the FIFO overrun with incout=1=>512byte at all? (16*32=512, so it actually should get full, but not overrun)
21:55:23n1sdraft: not inside rockbox no, you need to use the original firmware's disk mode to access the drive from a computer
21:56:15funmandany_21a_: the FIFO is 16*32 bIts, and we can transfer minimum 512 bYtes (*8) so it will overrun if we don't empty it while it's being filled
21:58:31 Join shotofadds [0] (n=rob@rockbox/developer/shotofadds)
21:59:19 Quit LambdaCalculus37 (" ajax IRC Client")
21:59:32dany_21a_funman damn.. thx... y!=i
22:01:34pixelmabits != bites too ;)
22:06:00draftn1s: so i need install itunes
22:06:02draft... :|
22:06:33n1sdraft: that is not what i said, you need to do it from the computer is what i said
22:07:10n1ssee this page
22:07:54n1si thought you just had some file system corruption though, not that you were in need of a full-blown restore
22:09:28AicartI have crashed it !
22:09:49AicartI can enter to the test tool but the computer doesn't recognize it
22:10:41AicartIt's call Ipod Diagnostincs
22:12:08Aicartin disk mode ... i'll try
22:14:05 Join merbanan [0] (n=banan@
22:15:46 Quit Lear ("ChatZilla 0.9.83 [Firefox 3.1b2pre/20081114034305]")
22:15:52 Quit draft ("Lost terminal")
22:19:25 Join saratoga [0] (n=9803c264@gateway/web/cgi-irc/
22:20:32saratogais DMA ever used outside of drivers?
22:21:13 Quit merbanan (Remote closed the connection)
22:21:29Bagderno, I don't think so
22:21:33n1ssaratoga: how do you mean?
22:22:22funmanit could be used in memcpy() if i understand correctly
22:23:04Unhelpfulfunman: it's not too often called "DMA" when only the CPU is doing it, though, is it?
22:23:26n1son coldfires pcm_play_data uses the dma (indirectkly), i'm not sure if that counts as driver usage though
22:23:35funmanit wouldn't be the CPU here, but the DMA hardware
22:23:54funmani.e. use the hardware to copy from memory to memory
22:23:59domonokythe DMAC in the as3525 can do mem-to-mem transfers...
22:24:38*shotofadds got red but can't see an error in the build log... is the script dependant on the output file?
22:24:40Unhelpfulfunman: oh, in that case, that's DMA... i guess i'd not call memcpy a driver.
22:24:42funmanseeing how simple these PrimeCell chips seem to be, I believe it's a common feature to other hardware (just a supposition)
22:25:03n1son the coldfires the dma can not access (all of the) iram though so having memcpy rely on it there would be nasty
22:25:13saratogafunman: the problem with using it for memcpy is that its probably slower then having the CPU do it
22:25:15shotofaddsbecause that changed from rockbox.iaudio to rockbox.d2 in this revision (since the d2 has never been an iAudio-branded player)
22:25:15domonokybut we only have two channels.. so we probably should only use it for audio and sd...
22:25:19 Quit Aicart (Remote closed the connection)
22:25:31Bagdershotofadds: ah yes that's probably it
22:25:39*Bagder takes a peek
22:26:35Bagdershotofadds: for the bootloader as well?
22:26:42funmandomonoky: do you understand how we specify the source/destination peripherals in DMAC_C(0|1)_CONFIGURATION register ? the peripheral ID is 4 bits wide but I don't know what's the value for, say, PL180
22:26:45saratogaanyway was just wondering about using it in codecs, although it seems like most DMA controllers are too limited to be really useful anyway
22:27:38shotofaddsBagder: I don't think the rockbox.d2 is actually used in the bootloader build. the useful file is actually bootloader/bootloader.bin
22:28:31Bagderwell, it is built anyway ;-)
22:28:33shotofaddsOf course this change also forces people to update their D2 bootloaders, but I figured it was a good time since reading in the new NAND driver seems pretty reliable ;)
22:28:54shotofaddsBagder: the answer to your question was yes ;)
22:29:10 Join Zagor [242] (
22:29:17Bagdergood d2 news anyway
22:30:20 Quit dabujo ("( :: NoNameScript 4.2 :: )")
22:30:44shotofaddsyes, very good news - it seems very reliable here. I need to do some more hacking to make it work reliably on M200/DAX, then I might think about write support...
22:31:19shotofaddspreglow has been having some successes with the SD code recently too, so things are looking up!
22:31:29saratogahas vitja been around lately? i figured he'd want to take a look at the NAND access on TCC eventually, he seems to have a knack for that sort of thing
22:31:49shotofaddsI haven't seen him for a while.. I might ping him an email at some point
22:32:25#>>"seen" used by Zagor (n=bjst@rockbox/developer/Zagor) [snoop prevented]
22:34:10 Join bluebrother [0] (n=dom@rockbox/staff/bluebrother)
22:35:42 Quit Thundercloud (Remote closed the connection)
22:35:53 Quit darkham ("Sto andando via")
22:39:33 Quit n1s ()
22:42:54 Join toffe82_ [0] (
22:44:48domonokyfunman: no, i dot really understand how the eripheral selection should work. it looks like the DMAC has different dma-request lines, you you have to select the right one, which is connect to the needed peripheral..
22:45:48funmanah right, I thought there was some logic with the 'PrimeCell ID' available for each peripheral connected to the bus, but maybe it's some hardwired lines
22:46:32domonokyit looks like, but i am not sure...
22:46:42 Quit toffe82 (Read error: 60 (Operation timed out))
22:46:52 Nick toffe82_ is now known as toffe82 (
22:48:15dany_21a_funman: for it looks like you can make the DMA "listening" on various bits in some (but dunno how defined) Statusregister (which may hardwired, or maybe direct by address)... look in the pdf for the MMC: "TxHalfEmpty Set to HIGH when 8 or more transmit FIFO words are empty. This flag can be used as a DMA request."
22:48:17domonokythe as3525 datasheet also says the dmac provides 16 dma request lines.. so its hardwired..
22:49:07linuxstbsaratoga: I _think_ someone implemented a memcpy using DMA for the Gigabeat F, but IIRC it was reverted. I can't remember the details though.
22:50:06 Join Simoj [0] (
22:50:12markunlinuxstb: I believe it turned out to be slower
22:50:14funmandany_21a_: yup, we can use this bit (in MCIMask0 and 1) to trigger an interrupt and start a DMA transfer, but I understand that the DMA controller must be properly setup first
22:50:45markunbut in the early days of the port we didn't really benchmark
22:52:47funmanr4406 mention patch #917153 - did you use something else than FlySpray ?
22:53:40linuxstbmarkun: Which reminds me, there's still an assembler bitmap drawing function in the gigabeat lcd driver that needs benchmarking - and then either used on other targets or reverted...
22:53:46 Join darkham [0] (
22:55:56preglowshotofadds: went away for the weekend, back now, and will continue prodding sd tomorrow
22:56:21preglowthough i still can't read proper data for it, at least now the fifo fills with the correct number of bytes, but only for sdhc cards
22:56:28 Part Simoj ("Leaving")
22:56:28preglowsd cards still bug out for some reason
23:03:37captainkewllinuxstb: re mikmod codec, sorry I haven't gotten back to you on this yet. Rough past few weeks. I have stripped out a lot of unnecessary code −− drivers and routines that just aren't used. Right now the working build only supports the 4 main types (and XM seems to be a bit broken right now). I don't know how much memory actually is used by each type, but revisiting the plugin might be worthwhile to that end.
23:04:12shotofaddspreglow: you just know that'll be some daft typo somewhere ;-) btw. when you get a chance, do try out the new nand driver. I haven't had a single failed boot for >1 week and I can't quite believe it's true..
23:04:31captainkewlMy thinking at this point isn't so much that things need to be changed for the codec api as it is that maybe mikmod should just be left as a plugin −− for probably the same reasons that midi is.
23:04:34 Join Thundercloud [0] (
23:05:55pixelmacaptainkewl: have you had a look at how the current mod codec works?
23:05:55captainkewlAlso slightly hung up on some dependencies on functions defined in firmware/common and how to address them without bloating the build unnecessarily −− might be tied to the way XM is malfunctioning.
23:06:30linuxstbWhat functions in firmware/common/ do you need?
23:06:58captainkewlEnough to know how files are loaded, but I'm not entirely sure what it does with any other memory it needs.
23:07:42 Quit fml ("CGI:IRC (EOF)")
23:07:49captainkewlstrncmp, strncpy, random
23:07:53 Quit massiveH (Read error: 113 (No route to host))
23:08:53linuxstbThey should all be in the plugin API - you can't use them directly.
23:09:01captainkewlAnd then there's the whole malloc deal.
23:10:11linuxstbIdeally you should get rid of all mallocs, and use fixed-sized buffers instead. That would allow you to know exactly how much RAM is required for decoding.
23:10:32preglowshotofadds: will do
23:10:57pixelmaIIRC the current mod codec could play my 2 mods that were larger than the codec buffer (they would fit now in the larger one so can't test anymore)
23:11:23captainkewlRight, I'm just not sure there's any way to predict that and it's really sort of out of my depth.
23:11:49*kugel wonders why bluebrother is so particulary keen on using that "string" CONSTANT "string" stuff
23:12:05linuxstbcaptainkewl: How big are the actual files you play?
23:12:25bluebrotherkugel: it's simply more efficient
23:12:32captainkewlI've seen IT and XM files at 1mb or so.
23:12:43gevaertsUnhelpful: I just had a look at your area scaling tests, and I think they are most probably good enough
23:12:50bluebrotherneeds less RAM, less const data and less processing time.
23:12:52kugelbluebrother: in which way?
23:13:17kugelalso: "this can be done simpler" != "this can be done more efficiently"
23:14:07bluebrotherwell, not requiring printf to do any replacements is simpler *and* more efficient
23:14:14bluebrotherso what's your point?
23:14:38pixelmalinuxstb: I have an .it file that's almost 8MB but usually they are smaller... the largest .mods I had are less than 1MB (not sure how represantative my collection is though)
23:14:59kugelI'd be surprised if gcc wouldn't optimize it at compile time anyway
23:15:17kugelbut I say it again, I really don't care, so if that's the show stopper, change it
23:15:20 Quit MethoS (Remote closed the connection)
23:15:28bluebrotherfeel free to check it
23:15:42Bagdergcc won't optimize away a %s usage
23:15:50 Join MethoS [0] (
23:15:52Unhelpfulgcc can't always optimize away user-defined functions based on the constancy of their inputs
23:15:55linuxstbbluebrother: One issue is if the constant is used in multiple places - if you keep it separate, then it might actually reduce size to use %s with it...
23:15:58Unhelpfulin fact, i rather doubt it ever can.
23:15:59bluebrotherprintf is a rather complex function, so I don't think gcc _can_ even optimize it away
23:15:59kugelBagder: if the argument is a literal constant?
23:16:09Bagderno, it won't
23:16:25Nico_PUnhelpful: hi, you wanted to talk to me?
23:16:28bluebrotherlinuxstb: true, if you put it into const data and use a pointer to it.
23:16:46linuxstbbluebrother: IIUC gcc should optimise away duplicate const strings
23:17:04bluebrotherah. That's nice.
23:17:16bluebrotherthough I wouldn't want to trust the compiler that much ;-)
23:18:04domonokyyou never know what gcc does.. we have often see it doing stupid things...
23:18:14UnhelpfulNico_P: yes, but it might be too early, after some talking with other people. i'm working on a smaller rescaler, but there seem to be more than a few people who want it to work for non-album-art cases, so i'm thinking i should at least implement a first test without using the buffer for scratch space.
23:18:43Nico_PI agree
23:18:45*bluebrother sees a commercial compiler doing stupid things every other day
23:19:24linuxstbUnhelpful: So how small do you think you can make the temporary buffer?
23:19:24*domonoky thinks every compilier does stupid thing if you look at the gernated asm... :-)
23:19:35bluebrotherdomonoky: true ;-)
23:19:36kugellinuxstb: so what's your point of view in this case?
23:19:40Nico_PUnhelpful: lately I've been thinking of a way to get the playback thread to free some buffer space so that others (typically plugins) can get some. I guess it could also be helpful for scaling
23:19:54bluebrothernow put in a crappy cpu architecture and have real fun :)
23:20:09kugel"%s", BOOTFILE or BOOTFILE ""
23:20:14linuxstbkugel: Personally, I would have written it like bluebrother - my instinct is to do things at compile-time whenever possible.
23:20:18Nico_PUnhelpful: how much scratch space is going to be needed?
23:20:23Unhelpfullinuxstb: i don't think i can do away with having two output-line-sized buffers of a larger type, uint32 has worked well in my test case and i'm told it should be fast to manipulate
23:20:32 Quit petur ("Zzzzz")
23:21:04Unhelpfulbut, i could easily clamp the output line size at the largest dimension of the screen - i can't see any reasonable use for scaler output larger than the screen.
23:22:23linuxstbIf you just need output-line-sized buffers, then that's going to be fine - you should be able to allocate it on the stack.
23:22:59gevaertsUnhelpful: I assume that's 32bit per pixel per colour?
23:23:34gevaertsSo screen width * 3 * 32bit * 2 lines?
23:23:37Unhelpfulthere will also be a need for whatever-is-deemed-a-reasonable-size of raw input data - i'm fairly sure i can make both bilinear and area scalers work without having a whole line, and i think perhaps the display width would be a reasonable chunk size, or we could just make it 256.
23:24:09 Quit bmbl ("Woah!")
23:24:25Unhelpfulgevaerts: that's what i'm working with at present. i don't think i can do the temp data in chunks, because one line of final output will have contributions from more than one line of input.
23:24:37 Join tyfoo [0] (
23:25:09gevaertsYou could if you allow seeking in the source, but that's madness
23:25:31Unhelpfulgevaerts: that was my opinion as well.
23:26:07gevaertsSo we're looking at about 8k on the biggest current supported target
23:26:29Unhelpfuli'm trying to work on the chunked line scalers, but i'll have to start trying to wake up the rest of my family soon, and my mind says, "there's not enough time to get anywhere, why start?"
23:29:27 Quit reacocard (".")
23:29:34 Quit Strife89 (Remote closed the connection) 8KB really reasonable to allocate on stack?
23:30:26gevaertsIt depends on the thread you're in I guess, but is seems a bit big to me
23:31:15Unhelpfulalso, i could use screen width instead of largest screen dimension, if i can assume that inputs are row-then-column ordering.
23:31:22linuxstbI think the stack is 9KB, so no, not reasonable...
23:32:58Unhelpfulthat would only be different on portrait targets, anyway, and i need to find out if that assumption is valid or not... but i can't find anything that states what order JPEG macroblocks are stored in.
23:34:52Unhelpfullinuxstb: that brings us back, then, to saying an extra ~8KB of core binsize for static buffers, or doing it on the buffer, and not really having it usable outside of album art.
23:35:04Unhelpfulneither of those options will satisfy everybody
23:36:03gevaertsUnhelpful: I still haven't seen a real example of in-core non-AA scaling though
23:36:11LloreanNo option ever satisfies everyone.
23:36:38Unhelpfulgevaerts: people want it for icons, or for backdrops, etc.
23:36:43gevaertsIcons don't count IMO as they are much smaller, so even if those are wanted they can be done on the stack
23:36:44 Join jeffdameth1 [0] (
23:36:54 Quit jgarvey ("Leaving")
23:37:06gevaertsAnd backdrops? Do you really need to scale those?
23:37:06LloreanI don't think scaling for backdrops is suitable.
23:37:11Unhelpfulgevaerts: but that means having two copies of the scaler, one with stack allocation.
23:37:14LloreanThey should be pre-scaled as part of a theme.
23:37:22 Quit jeffdameth (Read error: 60 (Operation timed out))
23:37:41UnhelpfulLlorean: i agree, they're a theme component, but i am only saying what was said when i tried to talk about this as an album-art-only thing
23:37:46gevaertsUnhelpful: not really. You just have two memory allocators at the start to choose from
23:37:53gevaertsThe rest is still the same code
23:37:57LloreanI'm still in the "asking users to scale any image, once, is not unreasonable"
23:38:21 Quit domonoky (Read error: 104 (Connection reset by peer))
23:38:34gevaertsAlbum art is annoying because you want to copy the same files to all your players, and you want to switch themes, but backdrops?
23:39:29LloreanI think we're really trying to address the "switch themes" issue more than anything else.
23:40:01Unhelpfulgevaerts: does rockbox have a way for me to allocate from the stack, after function start?
23:40:10 Join reacocard [0] (n=reacocar@WL-112.CINE.HMC.Edu)
23:40:46UnhelpfulLlorean: that's the issue i care about. and i wouldn't mind if the scaler can handle album art which might be larger than the screen - which i'm pretty sure it can do, now.
23:41:22funmanUnhelpful: int[10000000] ?
23:41:42funmanyou can use int[i] for dynamic size allocation also
23:41:50 Quit darkham (Read error: 104 (Connection reset by peer))
23:42:13gevaertsYes, but that's not very convenient for this case I think
23:42:14 Join darkham [0] (
23:42:16 Quit darkham (Read error: 131 (Connection reset by peer))
23:42:25gevaertsAlthough it is usable
23:42:27 Join darkham [0] (
23:42:28Unhelpfulright, C dynamic arrays. that's definitely a way to do it. will an int[0] disappear completely?
23:42:28 Quit darkham (Read error: 104 (Connection reset by peer))
23:42:42 Join darkham [0] (
23:42:43 Quit darkham (Read error: 104 (Connection reset by peer))
23:42:50gevaertsMaybe it won't, but who cares about a few bytes on the stack?
23:43:05bluebrothergevaerts: the stack cares? ;-)
23:43:15*funman hands iso C99 to Unhelpful
23:44:29gevaertsbluebrother: has it told you?
23:44:56bluebrotherhmm. I should ask ...
23:45:19Unhelpfulhow is that handled, though? i assume the stack pointer just gets moved?
23:45:31gevaertsI guess so
23:47:01***Saving seen data "./dancer.seen"
23:48:09 Part captainkewl
23:48:34Nico_Pat the risk of seeming stupid, I'd like to know what you mean by "dynamic array" in C...
23:49:09gevaertsNico_P: int size=whatever, char array[size];
23:49:15UnhelpfulNico_P: current C specs permit run-time sizing of a declared array
23:49:37gevaertsActually, does gcc 3.4 allow that already?
23:50:02Nico_Pah right. I was thinking of some sort of resizing
23:50:16Nico_Phow recent is that spec?
23:50:36Unhelpfulaccording to funman, iso C99, it would seem
23:51:05*Nico_P is too young to have known anything else than C99
23:52:40funmani didn't mean it was not present in previous standards, it's just the newest one i know about :)
23:53:37Unhelpfulfunman: it's not in C89, apparently, as it's stated to be offered as a non-standard extension to C89 in gcc.
23:54:19gevaertsIt works in gcc 2.95, so we're safe anyway
23:54:23 Quit tyfoo (Connection reset by peer)
23:54:42Unhelpfulah, alloca is what i want, if i just want to extend my stack frame by N and get a void* to the beginning of that chunk.
23:55:01Unhelpfulbut arr[i] is definitely prettier...
23:55:28Nico_Pdoes rockbox have alloca?
23:55:32gevaertsI don't think rockbox has alloca() though
23:56:08gevaertshm, yes it does
23:56:37funmanaccording to the manpage, i thought it was provided by the compiler (or the libgcc?)
23:57:06gevaertsYou need #define alloca __builtin_alloca though
23:58:04denes_gevaerts: hi!
23:58:08gevaertsI think alloca() is nicer in this particular case, as it would just be if(is_small) buffer=alloca(size) else buffer=audiobuffer_steal(size)
23:58:38gevaertsHi denes_!

Previous day | Next day