Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: LAME using GPU technologies (Read 12585 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

LAME using GPU technologies

Hi,

Are there any chance to use GPU-optimized comandline encoders of LAME and FAAC?

I just start using nVidia GT320 videocard and have tested FLACCL in foobar2000... it's encoding so fast, but LAME shows on my Intel Core Quad only 30x speed. FAAC is about 20x.

Google didn't brought me any usefull info. May be I have missed some discussion on this forum (sorry about this).

Thanks in advance,
Alexander.

 

LAME using GPU technologies

Reply #1
Are there any chance to use GPU-optimized comandline encoders of LAME and FAAC?


Probably not.  The workload is not well suited to what GPUs do.

By the way, FAAC is an extremely simple and low quality encoder.  You probably do not want to use it at all. 

LAME using GPU technologies

Reply #2
Strange, the latest videocards provide very good math...
But I'm still asking because I can't find anything GPU-related...

By the way, FAAC is an extremely simple and low quality encoder.  You probably do not want to use it at all.

No, it's not. Just compare with LAME - you'll be suprtized.

FAAC provides very good frequency spectrum and the sound on the same bitrate of MP3s. You can test it in latest iTunes if you don't want to configure foobar2000.
or download comandline encoder here: http://www.rarewares.org/files/aac/faac-1.28-mod.zip
Code: [Select]
-q 500 - -o %d


Anyway, thanks for discussion

LAME using GPU technologies

Reply #3
Strange, the latest videocards provide very good math...


GPUs do massively parallel computation.  Single threaded or few threaded operations are quite slow.  MP3 in particular is quite difficult to make parallel.

By the way, FAAC is an extremely simple and low quality encoder.  You probably do not want to use it at all.

No, it's not. Just compare with LAME - you'll be suprtized.


As I understand it FAAC is just an example of how to make a basic AAC encoder.  Its not really meant to be used for applications where quality matters.  You can see why here:

http://listening-tests.freetzi.com/html/AA...est_results.htm

FAAC provides very good frequency spectrum and the sound on the same bitrate of MP3s.


Remember, frequency spectrum has nothing to do with quality, so just because the spectrum looks a certain way says nothing about how a file sounds.  This is why poor quality files often have a full spectrum. 

If you want to evaluate a AAC encoders, you should not waste your time with the spectrum.  Instead you should use double blind tests such as ABX or ABC/HR .  Take a look at the listening test I linked above.

LAME using GPU technologies

Reply #4
As I understand it FAAC is just an example of how to make a basic AAC encoder.

Yes, something like. I just want to encode AAC using CUDA in foobar2000 if this is possible.

But I don't ever knew, that iTunes and FAAC codecs are so different. Anyway, it's not easy to hear the differences in electronic music. Thanks for the info.

LAME using GPU technologies

Reply #5
As I understand it FAAC is just an example of how to make a basic AAC encoder.

Yes, something like. I just want to comress in AAC using CUDA in foobar2000 if this is possible.


GPUs are actually able to perform general purpose computation, so its probably possible to write an ok quality encoder that does this.  However, its less clear that it will be faster than your CPU.  I suspect that porting FAAC to CUDA will result in an encoder that is quite slow.  Most likely you could make the FFT quite a bit faster, and much of the rest quite a lot slower. 

But I don't ever knew, that iTunes and FAAC codes is so different. Anyway, it's not easy to hear the differences in electronic music. Thanks for the info.


If you don't need good quality, you can probably encode much faster by using faster settings.  Quality may be decreased, but perhaps it will still be higher than FAAC.  Worth experimenting with anyway.

LAME using GPU technologies

Reply #6
Ah, I partially understand what you mean about compute and threads. I'm an absolute noob in Fourier series and programming... LOL But it seems like the only and true reason why these codecs still not exists.

LAME using GPU technologies

Reply #7
By the way, FAAC is an extremely simple and low quality encoder.  You probably do not want to use it at all.

No, it's not. Just compare with LAME - you'll be suprtized.

My personal listening test of LAME vs FAAC two years ago.
http://www.hydrogenaudio.org/forums/index....howtopic=102876


If you're looking for the speed, I'd recommend the Helix MP3 encoder. 150x speed on my Core i7 870 and still the quality is on par with LAME.
http://listening-tests.hydrogenaudio.org/s...8-1/results.htm
http://www.hydrogenaudio.org/forums/index....howtopic=100896

LAME using GPU technologies

Reply #8
By the way, FAAC is an extremely simple and low quality encoder.  You probably do not want to use it at all.
No, it's not. Just compare with LAME - you'll be suprtized.
Given that this is the first time I have seen anyone assert FAAC as being superior to anything else, I think you need to provide the results of your ABX tests in support of this assertion.


LAME using GPU technologies

Reply #10
Strange, the latest videocards provide very good math...


GPUs do massively parallel computation.  Single threaded or few threaded operations are quite slow.  MP3 in particular is quite difficult to make parallel.


what about Vorbis for example where threading can be done per channel, Im mostly interested in seeing if it would be possible to make an encoder that could run very fast batch encodes like dbpoweramp using all my cores(8) with vorbis x64 sse3 lancer mod being MUCH faster for large batches then using my faster per core, 2500k(sold some time ago to a friend), my 8350@4.7 works wonderfully for audio encoding, infact, it was quite alot faster for the same workload when compared to the 2500k@4.5(best i could get even with excellent cooling out of that chip)

im just wondering if due to how different codecs like vorbis and opus and such are, vs mp3, if accelerating them would be possible OR if simply offloading the encode to a high end videocard for batch processing would free up resources for other things.

at the moment i have dual 290x's, (due to price drop i was able to get one. then, i sold a computer and got a 2nd, and, am just wondering at the fact its been so long and nobody seems to really be working on gpgpu much....



LAME using GPU technologies

Reply #11
Strange, the latest videocards provide very good math...


GPUs do massively parallel computation.  Single threaded or few threaded operations are quite slow.  MP3 in particular is quite difficult to make parallel.


what about Vorbis for example where threading can be done per channel,


Ideally for a GPU you want tens of thousands of independent threads, so you'd better have a lot of channels. 

Im mostly interested in seeing if it would be possible to make an encoder that could run very fast batch encodes like dbpoweramp using all my cores(8) w


Foobar2000 has been able to do this with Vorbis for at least a decade. 

LAME using GPU technologies

Reply #12
... I just want to encode AAC using CUDA...
Please note that CUDA is not some magical technology which makes everything much faster. There are problems which can exploit the architecture very well and offer tremendous speed-ups compared to a CPU (these are usually used as nVidia marketing material). Then there are problems which are very awkward for the architecture (lots of branching, inherently sequential etc.). These do not make it into their marketing campaign for obvious reasons.