A multicore FLAC encoder |
A multicore FLAC encoder |
Nov 15 2009, 19:38
Post
#1
|
|
|
Group: Members Posts: 81 Joined: 2-August 09 Member No.: 71959 |
Hi!
Maybe you already know fpMP3Enc, my multicore MP3 encoder... This time, I'd like to introduce my multicore FLAC encoder. You can download the binaries here. The package contains Win32 binaries for XP, Vista and 7, and Win64 binaries for Vista and 7. The FLAC encoder is part of my "fpStream" project. The command-line to convert a WAV file to FLAC is as follows: CODE FPSTREAM.EXE readfile in -f <wav-filename> + wavin wav -s in + fpflacenc enc -s wav [-<compression level>] + writefile out -s enc -f <flac-filename> The benchmarks so far: I used the same test suite as in fpMP3Enc (Intel Q9450, 61 WAV files, about 5 hours playing time). The compression level was 5. The files were encoded one after the other, not in parallel. - flac 1.2.1: 3 min 26 secs - fpFLAC x64: 1 min 13 secs So, the speedup was 2.8x. This is quite good if you consider that this version does not contain any SSE optimizations. What's missing: - SSE optimizations - Metadata support (tags, seek points etc.) - free of bugs And some limitations: - Win32 version: The total WAV file size sum must not exceed 400MiB(? - not sure). - Win64 version: The total WAV file size sum must not exceed 400GiB. - Input: WAV 16-bit stereo, 44.1kHz Comments and feedback are welcome! George |
|
|
|
![]() |
Dec 23 2009, 18:16
Post
#2
|
|
|
Group: Members Posts: 24 Joined: 9-January 07 Member No.: 39448 |
I cannot wait for this to be ready for production so to speak!
Any chance @ GPU support? |
|
|
|
Dec 24 2009, 12:47
Post
#3
|
|
|
Group: Members Posts: 81 Joined: 2-August 09 Member No.: 71959 |
I cannot wait for this to be ready for production so to speak! Well, the truth is, I don't know if fpFLAC has a future. The feedback is very, very poor. QUOTE Any chance @ GPU support? I will add GPU support into my framework and if the fpFLAC project will be continued it will also support GPUs. |
|
|
|
Dec 25 2009, 00:56
Post
#4
|
|
|
Group: Members Posts: 231 Joined: 6-April 09 Member No.: 68706 |
I cannot wait for this to be ready for production so to speak! Well, the truth is, I don't know if fpFLAC has a future. The feedback is very, very poor. Well, there's some feedback I can give you. I installed it and deleted shortly after. I'm not an user, but I can tell you why. 1. For me FLAC is dead, it's too weak, so you came too late. Multithreaded wavpack or mac would probably make more sense. 2. The last command line that I used was flac -8 -A tukey(0.5) -A flattop -r 0,8 -V and I considered adding -p, but it was a bit too slow for the gain. Overall it's slightly stronger than -8. If fpFLAC allowed me to compress slightly better with reasonable speed (and I wouldn't be shifting to TAK), I would use it, though probably with verification done by regular FLAC during the testing period. However, fpFLAC doesn't accept these switches, so (I guess) it's even weaker than regular FLAC. For me - pointless. 3. Installers are annoying. Regular 7zip package would be better. Can't you make it work w/out registering these dlls? Also, I got error during registration of smth with SSE4 in the name. XP 32bit, SP3, Core 2 Duo. Program worked at least long enough to show help, seeing lacking switches, I didn't even bother to compress something. 4. No Uninstaller. That's extremely annoying. I guessed that I should use the installer, but if I didn't keep it (for these several minutes 5. FLAC is (pendrive) portable, fpFLAC - I don't know. For me, it's very important. The only non-portable program that I found worth using is Visual Studio. |
|
|
|
Feb 6 2010, 12:11
Post
#5
|
|
|
Group: Members Posts: 56 Joined: 3-December 07 Member No.: 49229 |
Well, there's some feedback I can give you. I installed it and deleted shortly after. I'm not an user, but I can tell you why. 1. For me FLAC is dead, it's too weak, so you came too late. Multithreaded wavpack or mac would probably make more sense. etc. Wow, really? There is close to zero hardware support out there for either of these codecs, so how would other codecs make more sense than the one used by the majority here at HA? Also, what's the rationale behind switching to TAK, a closed-source codec without hardware support? Good luck switching to the next codec that comes along... . 3. Installers are annoying. Regular 7zip package would be better. Can't you make it work w/out registering these dlls? Also, I got error during registration of smth with SSE4 in the name. XP 32bit, SP3, Core 2 Duo. Program worked at least long enough to show help, seeing lacking switches, I didn't even bother to compress something. Man, you haven't even used it at all? I agree that this program would benefit from not coming with an installer but just an executable you can drop anywhere - but this is a work in progress and imho should not be knocked for that. The only non-portable program that I found worth using is Visual Studio. Haha, good one. @George I hope you continue your development. I can see about 40% speed increase using the command line to convert from a single WAV to a FLAC, yet I seem to be losing this advantage when turning a large WAV into multiple smaller FLACs using a CUE sheet in Foobar. My Foobar command line: CODE -8 --threads 2 -P 65536 -V -f %s %d Is it expected to not work well with multiple files? Is this my I/O limiting the speed? I am running a Core2Duo@2GHz. Also, one more thing: I noticed that when doing a command-line encode there is no mentioning of a "-V"-verification happening - is it going on in the background? Would it be possible to make fpflac a bit more verbose and tell me the result of this verification? Thanks for this development. ff |
|
|
|
Feb 6 2010, 19:04
Post
#6
|
|
|
Group: Members Posts: 81 Joined: 2-August 09 Member No.: 71959 |
Is it expected to not work well with multiple files? Is this my I/O limiting the speed? I am running a Core2Duo@2GHz. In foobar2000, you have to set the number of threads to 1: File -> Preferences -> Advanced -> Tools -> Converter -> Thread count : 1 QUOTE Also, one more thing: I noticed that when doing a command-line encode there is no mentioning of a "-V"-verification happening - is it going on in the background? Would it be possible to make fpflac a bit more verbose and tell me the result of this verification? Try to download the latest version from MY site. I've implemented this option some time ago. |
|
|
|
GeorgeFP A multicore FLAC encoder Nov 15 2009, 19:38
Cokemonkey11 Good stuff, can't wait for the GUI. Nov 15 2009, 21:49
punkrockdude Yeah! I love that your make multi core applica... Nov 15 2009, 23:03
flacflac Wow, this is very interesting. The speed-gain you... Nov 16 2009, 11:14
GeorgeFP QUOTE (flacflac @ Nov 16 2009, 11:14) Wow... Nov 16 2009, 13:34
Maurits Is there any chance that these improvements can be... Nov 16 2009, 12:39
GeorgeFP QUOTE (Maurits @ Nov 16 2009, 12:39) Is t... Nov 16 2009, 13:56
hlloyge It would be interesting to compare it to CUDA FLAC... Nov 16 2009, 12:55
GeorgeFP QUOTE (hlloyge @ Nov 16 2009, 12:55) It w... Nov 16 2009, 20:51
Lucho QUOTE (GeorgeFP @ Nov 15 2009, 20:38) COD... Nov 16 2009, 16:12
GeorgeFP QUOTE (Lucho @ Nov 16 2009, 16:12) This i... Nov 16 2009, 17:33
GeorgeFP OK, I've uploaded a new version. The link is t... Nov 16 2009, 18:25
flacflac Hi GeorgeFP,
thank you for this exciting multicor... Nov 17 2009, 18:58
GeorgeFP Thanks for your feedback!
QUOTE 1) Using Win7... Nov 17 2009, 22:21
flacflac Hi George, thank you for that detailed reply! ... Nov 18 2009, 03:10

GeorgeFP QUOTE (flacflac @ Nov 18 2009, 03:10) Awe... Nov 18 2009, 07:05
Cokemonkey11 QUOTE (GeorgeFP @ Nov 17 2009, 13:21) Yes... Nov 18 2009, 03:58
GeorgeFP QUOTE (Cokemonkey11 @ Nov 18 2009, 03:58)... Nov 18 2009, 06:59
Cokemonkey11 QUOTE (GeorgeFP @ Nov 17 2009, 21:59) QUO... Nov 18 2009, 07:09
GeorgeFP QUOTE (Cokemonkey11 @ Nov 18 2009, 07:09)... Nov 18 2009, 13:25
GeorgeFP I have uploaded a new version.
The release notes ... Nov 18 2009, 19:52
flacflac QUOTE (GeorgeFP @ Nov 18 2009, 13:52) I h... Nov 19 2009, 09:17
GeorgeFP QUOTE (flacflac @ Nov 19 2009, 09:17) 1) ... Nov 19 2009, 10:10
GeorgeFP Here is a screenshot how to configure EAC to use f... Nov 23 2009, 10:34
howesz For ease of integration with EAC (i.e. so you can ... Dec 2 2009, 03:14

GeorgeFP QUOTE (howesz @ Dec 2 2009, 03:14) How ha... Dec 4 2009, 21:37
jamesbaud QUOTE (GeorgeFP @ Nov 23 2009, 01:34) Her... Dec 2 2009, 11:00
JacksonGrey QUOTE (jamesbaud @ Dec 2 2009, 10:00) Cou... Dec 2 2009, 13:40
GeorgeFP QUOTE (jamesbaud @ Dec 2 2009, 11:00) Cou... Dec 3 2009, 09:50
gottkaiser Wow, I'm impressed.
Thanks for all the work ef... Dec 3 2009, 12:26
Wombat You may use it together with metaflac with linking... Dec 2 2009, 03:36
Chinch interesting project you have going here. i know th... Dec 2 2009, 06:25
GeorgeFP QUOTE (Chinch @ Dec 2 2009, 06:25) 1) the... Dec 4 2009, 22:02
Chinch Alright! I'm impressed. I have to say that... Dec 2 2009, 07:23
Glenda Such a nice upgrade to EAC, thankyou Dec 3 2009, 14:14
Glenda QUOTE (Glenda @ Dec 3 2009, 09:14) Such a... Dec 3 2009, 14:22
Glenda QUOTE (Glenda @ Dec 3 2009, 09:22) QUOTE ... Dec 3 2009, 14:36
GeorgeFP Hi!
The new version can be downloaded here:
... Dec 4 2009, 12:27
gottkaiser QUOTE (GeorgeFP @ Dec 4 2009, 12:27) To u... Dec 4 2009, 13:08

jamesbaud QUOTE (gottkaiser @ Dec 4 2009, 04:08) QU... Dec 5 2009, 14:32
johnsonlam QUOTE (GeorgeFP @ Dec 4 2009, 19:27) 64-B... Dec 4 2009, 13:25
GeorgeFP QUOTE (johnsonlam @ Dec 4 2009, 13:25) QU... Dec 4 2009, 14:03
GeorgeFP And here is the screenshot for foobar2000:
You s... Dec 4 2009, 12:47
greynol Considering that EAC only passes one file at a tim... Dec 4 2009, 18:12
Gregory S. Chudov This encoder is useful, because it can use all the... Dec 4 2009, 20:04
GeorgeFP QUOTE (greynol @ Dec 4 2009, 18:12) Consi... Dec 4 2009, 22:21
pdq So are you saying that it is pointless to use this... Dec 4 2009, 19:51
greynol I know I'm usually a sarcastic cynic, but this... Dec 4 2009, 19:57
greynol So it's a departure from this?
http://www.hydr... Dec 4 2009, 20:10
pdq Wouldn't the time to compress a single image f... Dec 4 2009, 20:20
greynol EAC doesn't start encoding with an external co... Dec 4 2009, 20:36
pdq I'm just saying that the time to encode after ... Dec 4 2009, 21:25
greynol On my system it still takes longer to encode @ -8 ... Dec 4 2009, 21:29
greynol Perhaps you could have made it a little more clear... Dec 4 2009, 22:29
GeorgeFP QUOTE (greynol @ Dec 4 2009, 22:29) Perha... Dec 4 2009, 22:43
greynol Well no. Why didn't you provide that link in ... Dec 4 2009, 22:50
GeorgeFP A new version with two bug fixes is available for ... Dec 7 2009, 19:55
JacksonGrey I keep getting an error that a number of files ... Dec 8 2009, 00:59
GeorgeFP QUOTE (JacksonGrey @ Dec 8 2009, 00:59) I... Dec 8 2009, 07:14
GeorgeFP I've found the problem with the installer: Sev... Dec 8 2009, 13:12
greynol I'd love to see this done with metaflac so tha... Dec 8 2009, 17:34
Bylie QUOTE (GeorgeFP @ Dec 24 2009, 12:47) Wel... Dec 24 2009, 14:59

GeorgeFP QUOTE (Bylie @ Dec 24 2009, 14:59) But, p... Dec 25 2009, 13:33

Bylie QUOTE (GeorgeFP @ Dec 25 2009, 13:33) Bel... Dec 25 2009, 18:43

GeorgeFP QUOTE (Bylie @ Dec 25 2009, 18:43) I real... Dec 25 2009, 22:11
NuSkooler QUOTE (_mē_ @ Dec 24 2009, 16:56) 1. For ... Dec 25 2009, 01:03

GeorgeFP QUOTE (NuSkooler @ Dec 25 2009, 01:03) QU... Dec 25 2009, 20:51

NuSkooler QUOTE (GeorgeFP @ Dec 25 2009, 12:51) My ... Dec 26 2009, 03:24

GeorgeFP QUOTE (NuSkooler @ Dec 26 2009, 03:24) Th... Dec 26 2009, 09:27

NuSkooler QUOTE (GeorgeFP @ Dec 26 2009, 01:27) Ano... Dec 26 2009, 17:17

GeorgeFP QUOTE (NuSkooler @ Dec 26 2009, 17:17) QU... Dec 26 2009, 20:05
Gregory S. Chudov Agree. Josh, if you are interested, i'm ready ... Dec 24 2009, 15:20
skamp QUOTE (Gregory S. Chudov @ Dec 24 2009, 15... Dec 24 2009, 16:30
Qest It would be outstanding if the defacto flac tools ... Dec 25 2009, 01:02
Zarggg Will this program yield any benefit to a (single c... Dec 25 2009, 05:02
GeorgeFP QUOTE (Zarggg @ Dec 25 2009, 05:02) Will ... Dec 25 2009, 22:20
Fandango QUOTE (GeorgeFP @ Dec 25 2009, 22:20) QUO... Dec 25 2009, 23:05
Fandango Uhm, I would happily replace all single-threaded c... Dec 25 2009, 19:29
skamp Encoding two files at once on my Intel Atom with h... Dec 25 2009, 22:44
GeorgeFP BTW, I've decided to add some missing command-... Dec 26 2009, 20:18
howesz QUOTE (GeorgeFP @ Dec 26 2009, 14:18) BTW... Jul 10 2010, 02:24
Glenda QUOTE (howesz @ Jul 9 2010, 21:24) QUOTE ... Aug 7 2010, 09:36

GeorgeFP QUOTE (Glenda @ Aug 7 2010, 09:36) Same h... Aug 29 2010, 11:14
GeorgeFP QUOTE (howesz @ Jul 10 2010, 03:24) QUOTE... Sep 3 2010, 11:11
gimp QUOTE (GeorgeFP @ Sep 3 2010, 02:11) QUOT... Sep 16 2010, 22:09
GeorgeFP QUOTE (gimp @ Sep 16 2010, 23:09) Removed... Sep 17 2010, 07:16
Meeko So I'm guessing a multicore FLAC encoder would... Dec 28 2009, 13:52
Fandango You are right, multi-threaded encoders are for fas... Dec 28 2009, 15:22
clintb Any chance someone could whip up a batch file for ... Jan 29 2010, 16:06
Synthetic Soul QUOTE (clintb @ Jan 29 2010, 15:06) Any c... Feb 6 2010, 14:29
GeorgeFP An updated version is now available on my site.
I... Sep 19 2010, 09:05
Glenda The encoder flags errors on every attempt with EAC... Jan 17 2011, 08:47
GeorgeFP QUOTE (Glenda @ Jan 17 2011, 08:47) The e... Jan 17 2011, 18:48
Glenda QUOTE (GeorgeFP @ Jan 17 2011, 12:48) QUO... Jan 18 2011, 11:02
GeorgeFP It seems that the libraries are of mixed type (32 ... Jan 18 2011, 12:47![]() ![]() |
|
Lo-Fi Version | Time is now: 22nd May 2013 - 18:20 |