XBMC's new built-in CDDA-ripper
#1
hi,

just for curiousity. how did you make the cd ripper/encoder so fast ? is it just the thread model or do you use some holy tweaks :-)
regarding the current cddareader.cpp from the anonymous cvs,
you're deleting twice the buffer 0 in the destructor.

thanks,
wiso
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#2
just used also the cvs version of lame and noticed the same speed increase.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#3
sorry to bother you again but i was a little bit too optimistic.
i've compiled the cvs version of lame with the changes you've made and i compiled your lame library also. with both libraries dvd2xbox rips a specific title in 2 minutes.
when i take your precompiled library it takes only 1 minute to rip Shocked

how did you compile the library ? would be really nice to know. :bowdown:

thanks in advance,
wiso
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#4
wiso you will never know muahahahaha !!!!! :nuts:
no, to be serious i think darkie did the lib, but he is on vacation right now (will be back soon iirc). so i think you'll have to wait for an answer a couple of days. :p
read the xbmc online-manual, faq and search the forums before posting! do not e-mail the xbmc-team asking for support!
read/follow the forum rules! note! team-xbmc never have and never will host or distribute ms-xdk binaries/executables!
Reply
#5
i can wait :d .
i've learned so much from the xbmp/xbmc source code and maybe some compiler tricks will follow now. :kickass:
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#6
Quote:regarding the current cddareader.cpp from the anonymous cvs,
you're deleting twice the buffer 0 in the destructor.
thanks, that had to be 0 and 1 :p

Quote:i've learned so much from the xbmp/xbmc source code and maybe some compiler tricks will follow now.
no, there are no compiler tricks, only caching tricks Smile.

as it was the first time (i believe it's the same for dvd2xbox) you first read a part from the audio from disc, then you encode it and then you write it to disc.
this has a few issues,
one is that you first have to read something before you can encode it. reading takes no proc power at all so we are wasting encoding time here
second is that encoded data is written back to disc every time a bit of data is encoded. this is a lot slower then writing back 128k chunk's of data.

so what makes it faster is that the reading of audio data is done in a seperate thread (that's why we have 2 buffers, one for reading and the other one for encoding at the same time, if the encoding is done, we change the buffers so the other buffer is encoded, and the reading can start all over again to the changed buffer)

as for the writing part, every time we have something to write, we append it to a 128k buffer. once this buffer is full we write it to disc and start from the beginning again.

that's about it...



Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#7
thanks for the detailed description. that was also my first thought but after using your compilation of the lame and ogg vorbis library dvd2xbox is twice as fast than before :o
but if i use my own compilation of lame from the source code you've provided with xbmc it's slow again as it was before.
the question is: what is the difference between liblame.lib from cvs and the source code ? as all compiler options are in the project file there should be nothing wrong with the compilation.
thats so amazing :help:
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply

Logout Mark Read Team Forum Stats Members Help
XBMC's new built-in CDDA-ripper0