GP2X Will Pay $$ For A Simpler Library For 940t Vorbis Playback


Epicenter

Well-Known Member
Joined
Oct 9, 2005
Messages
2,068
Age
39
Location
USA
Website
www.epicgaming.us or http
I recall Dzz has expressed a willingness to release his source from Vektar for a modified libtremor that uses the ARM940T for OGG Vorbis decoding, but that it's a pain to use due to the usual complexity of operating the 940T. I'm sure this library could be modified to be simple to use, or even the functionality integerated into a modified SDL_Mixer (ideal). I'd love to do it, but I just don't have the time with working on Stargazer, and I'm not much at low-level programming. If someone were to pull this off, though, I'd be willing to pay them handsomely for doing so and they'd recieve credit in the game as well. If you're interested, please reply here or PM me! :)
 
Epicenter posted on Aug 18 2006 at 12:45 PM said:
I recall Dzz has expressed a willingness to release his source from Vektar for a modified libtremor that uses the ARM940T for OGG Vorbis decoding, but that it's a pain to use due to the usual complexity of operating the 940T. I'm sure this library could be modified to be simple to use, or even the functionality integerated into a modified SDL_Mixer (ideal). I'd love to do it, but I just don't have the time with working on Stargazer, and I'm not much at low-level programming. If someone were to pull this off, though, I'd be willing to pay them handsomely for doing so and they'd recieve credit in the game as well. If you're interested, please reply here or PM me! :)


Where does this idea of the 940T being complicated come from? Operating on linux on the 920 is a royal pain. The 940 is trivial, there is absolutely nothing to get in the way. Vorbis doesnt appear to be easy to implement, mp3 is/was. See the audio on the 2nd cpu thread.

Find me an ogg library that doesnt require file i/o but is a simple compressed buffer to uncompressed buffer function and I can help. From there we need to figure out the audio chip on this box, I think the bootloader uses the 2nd cpu, and thats the second half, pretty much done...

Are you seeing a performance hit when you run sound vs no sound? What if you were to take the ogg data, break it into reasonable chunks (16kb, 32kb, something like that), read the ogg file/data and memcpy it to a buffer in ram, but dont decode it. See what that does to your performance, that is what the 920T would need to do to have the 940T do the audio for you. Also make sure that you have a good memcpy, some of the memcpy implementations are horrible, you performance will greatly improve if you insure that both buffers are word aligned.
 
Last edited by a moderator:
I'll try to get that code released this weekend. Basically it will be a makefile and source for a glob of 940 code and a simple 920 program to send the code to the 940 and talk to it to get an ogg file playing in a loop. The code will be "as is, good luck, i'm outta here" but shouldn't be hard to adapt depending on how much different stuff you want to do with it.



dwelch posted on Aug 18 2006 at 12:40 PM said:
re you seeing a performance hit when you run sound vs no sound? What if you were to take the ogg data, break it into reasonable chunks (16kb, 32kb, something like that), read the ogg file/data and memcpy it to a buffer in ram, but dont decode it. See what that does to your performance, that is what the 920T would need to do to have the 940T do the audio for you. Also make sure that you have a good memcpy, some of the memcpy implementations are horrible, you performance will greatly improve if you insure that both buffers are word aligned.
Audio bandwidth is so ridiculously small that memory issues anywhere but the inner loops of a decoder are pretty much negligable -- Ogg source of about 8k bytes per second; and full stereo 44100hz 16 bit output data is still only 160k bytes per second, roughly 0.1% of the gp2x memory bandwidth.
 
Last edited by a moderator:
I just hope it's not a huge pain to work with. I'm writing a whole engine to worry about and can't really take the time to worry about how weird ARM940T code works and how to adapt it to my needs, which is why I ask. Working with the 920T and Linux is a dream; I don't know how anyone could think that's complicated.
 
Epicenter posted on Aug 18 2006 at 01:00 PM said:
I just hope it's not a huge pain to work with. I'm writing a whole engine to worry about and can't really take the time to worry about how weird ARM940T code works and how to adapt it to my needs, which is why I ask. Working with the 920T and Linux is a dream; I don't know how anyone could think that's complicated.
Maybe somebody else will be willing to take the time to build you what you want then. I have three new games in progress and can't :)

For such a person, defining the API you'd like would probably be helpful.
 
Last edited by a moderator:
Back
Top