HydrogenAudio

Lossless Audio Compression => Lossless / Other Codecs => Topic started by: TBeck on 2013-05-31 19:53:52

Title: TAK 2.3.0 beta
Post by: TBeck on 2013-05-31 19:53:52
Beta releases of TAK 2.3.0 ((T)om's lossless (A)udio (K)ompressor)

It consists of:

- TAK Applications 2.3.0 Beta 2 in "\Applications".
- TAK Winamp plugin 2.3.0 Beta 2 in "\WinAmp".
- TAK Decoding library 2.3.0 Beta 2 in "\Deco_Lib".

The final release will additionally contain the SDK.

Download link removed. TAK 2.3.0 Final (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=101386&view=findpost&p=837465) has been released.

Beta 2 - What's new

This release brings some new features requested by the author of caudec.

Improvements:

- Clean up of some code. As a side effect decoding is about 0.5 percent faster on my test system...

New features:

- Two new file info modes -fim4/5 which output one line of raw data per file.
- New mode switch -version to display the program version.

Known issues:

- If you use pipe decoding and the application reading the pipe is beeing terminated before the whole file has been read, TAKC may get into an endless loop and has to be manually killed with the task manager. I don't think this is a big issue but i will try to fix it in one of the next versions. BTW: Big thanks to shnutils for testing the pipe decoding!
- There seem to be some compatibility issues with pipe decoding to some other applications ("crc1632.exe" has been reported). I will try to fix it in the next release.

Beta 1 - What's new

This release brings significant speed optimizations for encoder and decoder.

Improvements:

- Encoding speed improvements between 5 and 44 percent for my primary file set. The faster presets benefit most. Only the compression performance of preset -p0e has changed. It's now performing about 0.03 percent worse on my primary file set. I modified the preset to make it faster, because -p0e and -p0m got to close after the speed optimizations.
- Decoding speed improvements between 14 and 29 percent for my primary file set. The faster presets benefit most.

Fixes:

Many thanks to Justin Ruggles for reporting this bug! The old decoder would deliver a corrupted frame under these extremely rare conditions:

Since a frame usually consists of thousands of samples and samples of maximum negative value usually mean clipping, it's extremely unlikely to encounter such data in real life. The probability is higher for the last frame, which can be quite small. But usually the very last samples of a song don't represent only negative clips.

Beta testing

This beta release has already gone through extensive testing performed by my automatic scripts. Nevertheless there may be bugs left. Therefore i would like you to verify the proper function of the codec: Compress -> Decompress -> Compare resulting wave with the original file, either by a binary compare or by the use MD5-check sums.

Certainly i am very interested into efficiency comparisons. The speed of the final release may vary in the range of about +/- 1 percent, simply because i remove the "beta" from the program name and this alters the code alignment.

Thanks for testing and have fun

Thomas
Title: TAK 2.3.0 beta
Post by: TBeck on 2013-05-31 19:56:27
Here the results for my primary file set (Beta 1).

Test system: Pentium Dual Core E5200 (2.5 GHz), Windows 7.

Code: [Select]
Preset  Compression %           Enco-Speed                Deco-Speed             
---------------------------------------------------------------------------------                            
        2.2.0   2.3.0    Win    2.2.0    2.3.0    Win %   2.2.0    2.3.0    Win %
---------------------------------------------------------------------------------                            
-p0     58.75   58.75    0.00   390.13   470.39   20.57   389.82   504.20   29.34
-p0e    58.30   58.33   -0.03   239.84   347.75   44.99   390.32   505.09   29.40
-p0m    58.22   58.22    0.00   133.99   192.26   43.49   391.08   506.18   29.43
-p1     57.84   57.84    0.00   312.56   370.83   18.64   386.80   479.58   23.99
-p1e    57.52   57.52    0.00   198.91   218.14    9.67   387.12   480.22   24.05
-p1m    57.42   57.42    0.00   105.05   137.41   30.80   388.84   481.97   23.95
-p2     56.90   56.90    0.00   233.32   259.75   11.33   356.84   427.11   19.69
-p2e    56.70   56.70    0.00   132.38   140.89    6.43   354.78   424.13   19.55
-p2m    56.59   56.59    0.00    65.64    76.61   16.71   356.87   426.11   19.40
-p3     56.36   56.36    0.00   115.94   122.35    5.53   331.84   387.62   16.81
-p3e    56.27   56.27    0.00    80.43    97.19   20.84   332.10   387.49   16.68
-p3m    56.20   56.20    0.00    43.93    48.49   10.38   331.16   386.43   16.69
-p4     56.03   56.03    0.00    63.65    73.15   14.93   302.79   346.96   14.59
-p4e    55.94   55.94    0.00    55.21    62.28   12.81   302.37   346.87   14.72
-p4m    55.89   55.89    0.00    28.09    29.96    6.66   301.86   346.67   14.84
---------------------------------------------------------------------------------

Compression in percent relative to the original file size. Speed as multiple of realtime playback.
Title: TAK 2.3.0 beta
Post by: no404error on 2013-05-31 20:31:56
Intel i7-3770 | DDRIII-1333 | ImDisk VDD | Windows 8

TAKC -e -pXX  -tn4 -cpuSSSE3 test.wav pXX.tak
TAKC -d -tn4 -cpuSSSE3 pXX.tak test_pXX.wav

Code: [Select]
Preset  Compression %           Enco-Speed                Deco-Speed
---------------------------------------------------------------------------------
        2,2,0   2,3,0    Win    2,2,0    2,3,0    Win %   2,2,0    2,3,0    Win %
---------------------------------------------------------------------------------
-p0     77,29   77,29    0,00   1686,54  1733,10   2,76    487,38   634,63  30,21
-p0e    77,03   77,09   -0,06   1199,45  1673,03  39,48    485,70   633,01  30,33
-p0m    76,99   76,99    0,00    667,74   976,43  46,23    486,07   632,22  30,07
-p1     75,60   75,60    0,00   1480,98  1678,03  13,31    476,13   587,16  23,32
-p1e    75,46   75,46    0,00   1043,34  1127,30   8,05    470,07   591,72  25,88
-p1m    75,37   75,37    0,00    546,91   723,70  32,33    475,20   606,67  27,67
-p2     75,33   75,33    0,00   1174,15  1292,74  10,10    463,88   553,88  19,40
-p2e    75,25   75,25    0,00    718,44   760,22   5,82    459,40   561,28  22,18
-p2m    75,13   75,13    0,00    350,16   423,08  20,82    466,10   559,61  20,06
-p3     75,17   75,17    0,00    667,01   702,78   5,36    457,03   538,50  17,83
-p3e    75,12   75,12    0,00    453,14   546,27  20,55    461,36   541,51  17,37
-p3m    75,06   75,06    0,00    254,18   289,82  14,02    456,05   540,87  18,60
-p4     75,13   75,13    0,00    383,63   464,90  21,18    429,50   481,70  12,15
-p4e    75,09   75,09    0,00    332,57   371,34  11,66    439,03   505,59  15,16
-p4m    75,00   75,00    0,00    166,11   179,60   8,12    439,97   513,44  16,70
---------------------------------------------------------------------------------
Title: TAK 2.3.0 beta
Post by: Dario on 2013-05-31 20:38:17
My eternal gratitude goes to you, Tom. You are amazing!
Title: TAK 2.3.0 beta
Post by: TBeck on 2013-05-31 20:44:10
Wow, that was really fast! Thank you!

I am really glad to see my results confirmed by someone else.

On the encoding side the speed advantage seems to be smaller with 4 threads, at least for the faster presets. Possibly i will be able to tune the the mutlithreading code, but it's also possible, that memory speed sets a limit.
Title: TAK 2.3.0 beta
Post by: TBeck on 2013-05-31 21:04:16
On the encoding side the speed advantage seems to be smaller with 4 threads, at least for the faster presets. Possibly i will be able to tune the the mutlithreading code, but it's also possible, that memory speed sets a limit.

I tried to be fast too with my response... and did miss something.

Now that you have updated your comparison in such a convenient way, i can see that the encoding speed advantage for the more demanding presets is even a bit higher than in my single thread comparison. That's very nice.

Again, thank you!

Title: TAK 2.3.0 beta
Post by: no404error on 2013-05-31 21:15:58
TAKC -e -pXX -tn3 -cpuSSSE3 test.wav pXX.tak
TAKC -d -tn3 -cpuSSSE3 pXX.tak test_pXX.wav

Code: [Select]
Preset  Compression %           Enco-Speed                Deco-Speed
---------------------------------------------------------------------------------
        2,2,0   2,3,0    Win    2,2,0    2,3,0    Win %   2,2,0    2,3,0    Win %
---------------------------------------------------------------------------------
-p0     77,29   77,29    0,00   1464,37  1681,70  14,84    467,39   626,16  33,97
-p0e    77,03   77,09   -0,06    970,26  1319,18  35,96    481,23   620,72  28,99
-p0m    76,99   76,99    0,00    535,42   809,31  51,15    483,34   630,51  30,45
-p1     75,60   75,60    0,00   1233,67  1491,07  20,86    470,22   601,26  27,87
-p1e    75,46   75,46    0,00    843,21   952,24  12,93    470,47   597,28  26,95
-p1m    75,37   75,37    0,00    444,99   606,29  36,25    463,41   599,17  29,30
-p2     75,33   75,33    0,00    976,33  1066,83   9,27    453,61   551,92  21,67
-p2e    75,25   75,25    0,00    598,12   646,74   8,13    456,11   554,63  21,60
-p2m    75,13   75,13    0,00    290,73   350,69  20,62    455,69   553,37  21,44
-p3     75,17   75,17    0,00    537,79   585,03   8,78    446,43   532,71  19,33
-p3e    75,12   75,12    0,00    365,53   474,83  29,90    454,96   526,80  15,79
-p3m    75,06   75,06    0,00    201,90   235,86  16,82    452,19   536,50  18,64
-p4     75,13   75,13    0,00    305,13   384,54  26,02    421,84   490,19  16,20
-p4e    75,09   75,09    0,00    265,27   314,47  18,55    429,36   490,43  14,22
-p4m    75,00   75,00    0,00    129,65   150,30  15,93    412,22   505,41  22,61
---------------------------------------------------------------------------------


TAKC -e -pXX -tn2 -cpuSSSE3 test.wav pXX.tak
TAKC -d -tn2 -cpuSSSE3 pXX.tak test_pXX.wav

Code: [Select]
Preset  Compression %           Enco-Speed                Deco-Speed
---------------------------------------------------------------------------------
        2,2,0   2,3,0    Win    2,2,0    2,3,0    Win %   2,2,0    2,3,0    Win %
---------------------------------------------------------------------------------
-p0     77,29   77,29    0,00   1046,80  1270,38  21,36    478,39   620,59  29,72
-p0e    77,03   77,09   -0,06    682,29   986,28  44,55    476,09   620,59  30,35
-p0m    76,99   76,99    0,00    373,71   580,62  55,37    480,55   624,92  30,04
-p1     75,60   75,60    0,00    881,19  1040,06  18,03    467,64   577,00  23,39
-p1e    75,46   75,46    0,00    579,17   660,21  13,99    468,20   598,77  27,89
-p1m    75,37   75,37    0,00    308,79   424,15  37,36    472,04   592,96  25,62
-p2     75,33   75,33    0,00    679,94   765,34  12,56    454,82   551,47  21,25
-p2e    75,25   75,25    0,00    414,80   449,91   8,46    456,51   550,23  20,53
-p2m    75,13   75,13    0,00    204,29   248,60  21,69    457,35   549,64  20,18
-p3     75,17   75,17    0,00    388,80   415,48   6,86    448,05   521,44  16,38
-p3e    75,12   75,12    0,00    262,33   332,67  26,81    451,55   535,30  18,55
-p3m    75,06   75,06    0,00    146,67   167,05  13,90    449,84   539,89  20,02
-p4     75,13   75,13    0,00    222,90   271,15  21,65    422,17   496,93  17,71
-p4e    75,09   75,09    0,00    190,61   226,04  18,59    423,94   502,62  18,56
-p4m    75,00   75,00    0,00     97,36   105,15   8,00    430,64   508,38  18,05
---------------------------------------------------------------------------------


TAKC -e -pXX -tn1 -cpuSSSE3 test.wav pXX.tak
TAKC -d -tn1 -cpuSSSE3 pXX.tak test_pXX.wav

Code: [Select]
Preset  Compression %           Enco-Speed                Deco-Speed
---------------------------------------------------------------------------------
        2,2,0   2,3,0    Win    2,2,0    2,3,0    Win %   2,2,0    2,3,0    Win %
---------------------------------------------------------------------------------
-p0     77,29   77,29    0,00    546,77  672,17   22,93    486,02   618,43  27,24
-p0e    77,03   77,09   -0,06    353,72  496,19   40,28    482,01   619,22  28,47
-p0m    76,99   76,99    0,00    191,90  294,19   53,30    477,65   616,84  29,14
-p1     75,60   75,60    0,00    458,48  543,15   18,47    472,35   596,17  26,21
-p1e    75,46   75,46    0,00    311,69  345,88   10,97    470,49   595,80  26,63
-p1m    75,37   75,37    0,00    159,05  221,19   39,07    471,80   588,50  24,74
-p2     75,33   75,33    0,00    360,26  405,36   12,52    458,63   551,70  20,29
-p2e    75,25   75,25    0,00    218,00  232,37    6,59    453,88   553,67  21,99
-p2m    75,13   75,13    0,00    104,83  129,74   23,76    458,34   549,23  19,83
-p3     75,17   75,17    0,00    201,36  215,64    7,09    450,71   532,38  18,12
-p3e    75,12   75,12    0,00    134,31  174,19   29,69    452,26   533,92  18,06
-p3m    75,06   75,06    0,00     76,88   87,87   14,30    456,07   540,32  18,47
-p4     75,13   75,13    0,00    115,56  141,01   22,02    428,81   499,10  16,39
-p4e    75,09   75,09    0,00     97,77  116,84   19,50    433,09   504,36  16,46
-p4m    75,00   75,00    0,00     51,01   55,96    9,70    435,07   504,40  15,94
---------------------------------------------------------------------------------
Title: TAK 2.3.0 beta
Post by: kurtnoise on 2013-06-03 13:32:18
Hi TBeck,

Is there a way to have a completed description of tak 2.0+ format header ?

I came across this one (http://linuxstb.cream.org/tak_format.html) but it's only for 1.xx format, not compatible with the current one...

Thanks in advance.

Title: TAK 2.3.0 beta
Post by: TBeck on 2013-06-03 23:04:33
Is there a way to have a completed description of tak 2.0+ format header ?

Not before i have more time. Sorry. My bad english definitely complicates documentation work.

The best resource for now is "takStream.pas", which is part of the SDK.
Title: TAK 2.3.0 beta
Post by: Dario on 2013-06-03 23:23:50
Is there any chance that Unicode support is going to be added?
Title: TAK 2.3.0 beta
Post by: TBeck on 2013-06-04 17:52:08
Beta 2 has been attached to the first post.
Title: TAK 2.3.0 beta
Post by: skamp on 2013-06-04 18:52:12
I have tested encoding 16bit and 24bit audio, 44100/88200/96000Hz sampling rates, 2/3/4/5/6 channels, and I have independently checked MD5 hashes. All worked fine.
Title: TAK 2.3.0 beta
Post by: Destroid on 2013-06-04 23:16:29
To my unsuspecting surprise, a new TAK beta.  Guess it's what I get for checking in only once every other week.

I haven't run any tests (yet) but I suspect files encoded with version 2.2.0 will also decompress with the speed improvements under the 2.3.0 binary. That means the codec engine is even more optimized than ever-- which defies the trend/assumption that improvements usually have compromise(s).

Incredible work, Thomas!
Title: TAK 2.3.0 beta
Post by: no404error on 2013-06-05 08:27:59
Code: [Select]
TAKC -e -pXX -tn4 -cpuSSSE3 test.wav pXX.tak
TAKC -d -tn4 -cpuSSSE3 pXX.tak test_pXX.wav

Preset  Enco-Speed Deco-Speed
---------------------------------------------------------
2.3.0b1  2.3.0b2  Win %  2.3.0b1  2.3.0b2  Win %
---------------------------------------------------------
-p0 1733.10  1689.28   634.63  635.72
-p0e 1673.03  1547.97   633.01  611.35
-p0m 976.43  941.78   632.22  619.84
-p1 1678.03  1649.23   587.16  607.77
-p1e 1127.30  1069.11   591.72  585.38
-p1m 723.70  682.01   606.67  604.57
-p2 1292.74  1235.34   553.88  550.56
-p2e 760.22  711.07   561.28  536.95
-p2m 423.08  392.97   559.61  548.13
-p3   702.78  670.24   538.50  531.76
-p3e 546.27  538.84   541.51  544.24
-p3m 289.82  264.39   540.87  539.52
-p4   464.90  432.96   481.70  490.47
-p4e 371.34  363.19   505.59  506.46
-p4m 179.60  164.09   513.44  510.48
---------------------------------------------------------

TAKC -e -pXX -tn3 -cpuSSSE3 test.wav pXX.tak
TAKC -d -tn3 -cpuSSSE3 pXX.tak test_pXX.wav

Preset  Enco-Speed Deco-Speed
---------------------------------------------------------
2.3.0b1  2.3.0b2  Win %  2.3.0b1  2.3.0b2  Win %
---------------------------------------------------------
-p0 1681.70  1638.57   626.16  621.30
-p0e 1319.18  1368.18   620.72  622.02
-p0m 809.31  805.68   630.51  640.82
-p1 1491.07  1454.87   601.26  586.51
-p1e 952.24  910.91   597.28  605.07
-p1m 606.29  585.41   599.17  601.35
-p2 1066.83  1070.83   551.92  558.83
-p2e 646.74  611.41   554.63  552.76
-p2m 350.69  326.91   553.37  563.29
-p3   585.03  561.31   532.71  534.31
-p3e 474.83  447.47   526.80  525.48
-p3m 235.86  227.48   536.50  546.12
-p4   384.54  366.42   490.19  505.71
-p4e 314.47  298.45   490.43  507.04
-p4m 150.30  137.88   505.41  516.99
---------------------------------------------------------

TAKC -e -pXX -tn2 -cpuSSSE3 test.wav pXX.tak
TAKC -d -tn2 -cpuSSSE3 pXX.tak test_pXX.wav

Preset  Enco-Speed Deco-Speed
---------------------------------------------------------
2.3.0b1  2.3.0b2  Win %  2.3.0b1  2.3.0b2  Win %
---------------------------------------------------------
-p0 1270.38  1267.97   620.59  632.10
-p0e 986.28  984.90   620.59  635.21
-p0m 580.62  556.67   624.92  639.53
-p1 1040.06  984.62   577.00  613.83
-p1e 660.21  638.79   598.77  591.31
-p1m 424.15  424.86   592.96  595.06
-p2   765.34  776.78   551.47  556.71
-p2e 449.91  442.88   550.23  548.68
-p2m 248.60  243.83   549.64  542.75
-p3   415.48  418.67   521.44  522.87
-p3e 332.67  320.49   535.30  539.61
-p3m 167.05  163.53   539.89  540.78
-p4   271.15  269.35   496.93  497.85
-p4e 226.04  222.25   502.62  507.05
-p4m 105.15  101.64   508.38  496.04
---------------------------------------------------------

TAKC -e -pXX -tn1 -cpuSSSE3 test.wav pXX.tak
TAKC -d -tn1 -cpuSSSE3 pXX.tak test_pXX.wav

Preset  Enco-Speed Deco-Speed
---------------------------------------------------------
2.3.0b1  2.3.0b2  Win %  2.3.0b1  2.3.0b2  Win %
---------------------------------------------------------
-p0   672.17  669.82   618.43  617.00
-p0e 496.19  495.51   619.22  634.13
-p0m 294.19  296.58   616.84  627.88
-p1   543.15  542.59   596.17  583.19
-p1e 345.88  345.35   595.80  604.57
-p1m 221.19  213.85   588.50  579.81
-p2   405.36  409.79   551.70  537.18
-p2e 232.37  235.44   553.67  544.69
-p2m 129.74  129.91   549.23  539.36
-p3   215.64  214.45   532.38  536.39
-p3e 174.19  173.37   533.92  538.76
-p3m   87.87 87.87   540.32  543.19
-p4   141.01  141.36   499.10  498.23
-p4e 116.84  116.43   504.36  495.85
-p4m   55.96 55.50   504.40  512.01
---------------------------------------------------------
Title: TAK 2.3.0 beta
Post by: TBeck on 2013-06-06 12:07:43
Is there any chance that Unicode support is going to be added?

It's the top item on my list of new features which i want to add. But it's not really easy to do with my good old Delphi 6 (from 2001) which has very little unicode support (none for the GUI). But it looks good in the medium term. The bad news: I will be extremely involved in a new job, at least for a couple of months. The good news: I will have to do a lot of work in C++, probably with QT as platform.  When my skills have developed, a port from Delphi to C (++) will be much easier than before. This will open a lot of new possibilities.

But nevertheless it's a lot of work which can not be done soon. And i can't promise anything, because i don't know, when i will have enough time to start this project.

I have tested encoding 16bit and 24bit audio, 44100/88200/96000Hz sampling rates, 2/3/4/5/6 channels, and I have independently checked MD5 hashes. All worked fine.

Great!

To my unsuspecting surprise, a new TAK beta.  Guess it's what I get for checking in only once every other week.

I haven't run any tests (yet) but I suspect files encoded with version 2.2.0 will also decompress with the speed improvements under the 2.3.0 binary. That means the codec engine is even more optimized than ever-- which defies the trend/assumption that improvements usually have compromise(s).

Incredible work, Thomas!

I am really glad to see you back! Well, it also prompts some negative feelings, because i know, that i haven't replied to your last 1 or 2 personal mails... Sorry!

And yes, any files encoded with TAK 2.0 and higher should show decoding speed improvements.

BTW: Thanks to the moderator, who has adapted the thread title!
Title: TAK 2.3.0 beta
Post by: TBeck on 2013-06-07 21:50:06
Code: [Select]
TAKC -e -pXX -tn4 -cpuSSSE3 test.wav pXX.tak
TAKC -d -tn4 -cpuSSSE3 pXX.tak test_pXX.wav

Preset  Enco-Speed Deco-Speed
---------------------------------------------------------
2.3.0b1  2.3.0b2  Win %  2.3.0b1  2.3.0b2  Win %
---------------------------------------------------------
Thank you very much for your multi-thread-comparison. It is very helpful for me, because i only own two cores. Well, there are worse things in life than the lack of cores... 

But i don't think your setup is accurate enough to catch such tiny differences of 0.5 percent improvement of decoding speed between beta 1 and 2. There seems to be too much noise in your data. Probably even systematically. In your first test decoding speed got down with the decrease of the thread count parameter. That's surprising, because the decoder currently will never use more than 1 thread.

Please don't take me wrong: I am really thankful for your first test, which -despite some inaccuracy- had shown me, that i may have to improve the multi-threaded-encoder performance.

Title: TAK 2.3.0 beta
Post by: no404error on 2013-06-08 17:24:01
But i don't think your setup is accurate enough to catch such tiny differences of 0.5 percent improvement of decoding speed between beta 1 and 2.
Maybe ramdrive is too fast for testing small samples.
(http://i48.fastpic.ru/big/2013/0608/f9/259b37ef228bf67ec76c54b515d5cdf9.png)
In your first test decoding speed got down with the decrease of the thread count parameter. That's surprising, because the decoder currently will never use more than 1 thread.
Log for largest (WPCR-13753).
Code: [Select]

H:\>TAKC -e -p0  -tn1 -cpuSSSE3 test.wav p0a.tak
test.wav                            ..........  74.55%  718*

Compression:    74.55 %
Duration:        4.46 sec
Speed:          718.35 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p0a.tak p0a.wav
p0a.tak                            ..........  689* Ok

Duration:        4.65 sec
Speed:        689.01 * real time

H:\>TAKC -e -p0e -tn1 -cpuSSSE3 test.wav p0e.tak
test.wav                            ..........  74.22%  542*

Compression:    74.22 %
Duration:        5.91 sec
Speed:          541.77 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p0e.tak p0e.wav
p0e.tak                            ..........  687* Ok

Duration:        4.66 sec
Speed:        686.77 * real time

H:\>TAKC -e -p0m -tn1 -cpuSSSE3 test.wav p0m.tak
test.wav                            ..........  74.12%  314*

Compression:    74.12 %
Duration:        10.22 sec
Speed:          313.56 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p0m.tak p0m.wav
p0m.tak                            ..........  687* Ok

Duration:        4.66 sec
Speed:        687.11 * real time

H:\>TAKC -e -p1  -tn1 -cpuSSSE3 test.wav p1a.tak
test.wav                            ..........  73.69%  592*

Compression:    73.69 %
Duration:        5.42 sec
Speed:          591.56 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p1a.tak p1a.wav
p1a.tak                            ..........  656* Ok

Duration:        4.88 sec
Speed:        656.38 * real time

H:\>TAKC -e -p1e -tn1 -cpuSSSE3 test.wav p1e.tak
test.wav                            ..........  73.63%  372*

Compression:    73.63 %
Duration:        8.61 sec
Speed:          372.07 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p1e.tak p1e.wav
p1e.tak                            ..........  657* Ok

Duration:        4.88 sec
Speed:        656.85 * real time

H:\>TAKC -e -p1m -tn1 -cpuSSSE3 test.wav p1m.tak
test.wav                            ..........  73.56%  238*

Compression:    73.56 %
Duration:        13.45 sec
Speed:          238.16 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p1m.tak p1m.wav
p1m.tak                            ..........  662* Ok

Duration:        4.84 sec
Speed:        661.86 * real time

H:\>TAKC -e -p2  -tn1 -cpuSSSE3 test.wav p2a.tak
test.wav                            ..........  73.48%  438*

Compression:    73.48 %
Duration:        7.32 sec
Speed:          437.72 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p2a.tak p2a.wav
p2a.tak                            ..........  601* Ok

Duration:        5.33 sec
Speed:        601.14 * real time

H:\>TAKC -e -p2e -tn1 -cpuSSSE3 test.wav p2e.tak
test.wav                            ..........  73.41%  256*

Compression:    73.41 %
Duration:        12.50 sec
Speed:          256.32 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p2e.tak p2e.wav
p2e.tak                            ..........  600* Ok

Duration:        5.34 sec
Speed:        600.22 * real time

H:\>TAKC -e -p2m -tn1 -cpuSSSE3 test.wav p2m.tak
test.wav                            ..........  73.35%  139*

Compression:    73.35 %
Duration:        23.01 sec
Speed:          139.24 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p2m.tak p2m.wav
p2m.tak                            ..........  600* Ok

Duration:        5.34 sec
Speed:        600.43 * real time

H:\>TAKC -e -p3  -tn1 -cpuSSSE3 test.wav p3a.tak
test.wav                            ..........  73.28%  229*

Compression:    73.28 %
Duration:        13.96 sec
Speed:          229.44 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p3a.tak p3a.wav
p3a.tak                            ..........  576* Ok

Duration:        5.56 sec
Speed:        576.40 * real time

H:\>TAKC -e -p3e -tn1 -cpuSSSE3 test.wav p3e.tak
test.wav                            ..........  73.24%  183*

Compression:    73.24 %
Duration:        17.48 sec
Speed:          183.31 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p3e.tak p3e.wav
p3e.tak                            ..........  579* Ok

Duration:        5.53 sec
Speed:        579.24 * real time

H:\>TAKC -e -p3m -tn1 -cpuSSSE3 test.wav p3m.tak
test.wav                            ..........  73.21%  94*

Compression:    73.21 %
Duration:        33.94 sec
Speed:          94.40 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p3m.tak p3m.wav
p3m.tak                            ..........  577* Ok

Duration:        5.55 sec
Speed:        577.32 * real time

H:\>TAKC -e -p4  -tn1 -cpuSSSE3 test.wav p4a.tak
test.wav                            ..........  73.17%  138*

Compression:    73.17 %
Duration:        23.19 sec
Speed:          138.13 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p4a.tak p4a.wav
p4a.tak                            ..........  509* Ok

Duration:        6.29 sec
Speed:        509.34 * real time

H:\>TAKC -e -p4e -tn1 -cpuSSSE3 test.wav p4e.tak
test.wav                            ..........  73.14%  120*

Compression:    73.14 %
Duration:        26.74 sec
Speed:          119.79 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p4e.tak p4e.wav
p4e.tak                            ..........  519* Ok

Duration:        6.18 sec
Speed:        518.58 * real time

H:\>TAKC -e -p4m -tn1 -cpuSSSE3 test.wav p4m.tak
test.wav                            ..........  73.11%  59*

Compression:    73.11 %
Duration:        54.36 sec
Speed:          58.93 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p4m.tak p4m.wav
p4m.tak                            ..........  532* Ok

Duration:        6.02 sec
Speed:        532.36 * real time

H:\>TAKC -e -p0  -tn2 -cpuSSSE3 test.wav p0a.tak
test.wav                            ..........  74.55% 1408*

Compression:    74.55 %
Duration:        2.28 sec
Speed:        1407.57 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p0a.tak p0a.wav
p0a.tak                            ..........  693* Ok

Duration:        4.62 sec
Speed:        692.87 * real time

H:\>TAKC -e -p0e -tn2 -cpuSSSE3 test.wav p0e.tak
test.wav                            ..........  74.22% 1066*

Compression:    74.22 %
Duration:        3.00 sec
Speed:        1066.29 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p0e.tak p0e.wav
p0e.tak                            ..........  684* Ok

Duration:        4.68 sec
Speed:        684.40 * real time

H:\>TAKC -e -p0m -tn2 -cpuSSSE3 test.wav p0m.tak
test.wav                            ..........  74.12%  612*

Compression:    74.12 %
Duration:        5.23 sec
Speed:          612.47 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p0m.tak p0m.wav
p0m.tak                            ..........  694* Ok

Duration:        4.62 sec
Speed:        693.85 * real time

H:\>TAKC -e -p1  -tn2 -cpuSSSE3 test.wav p1a.tak
test.wav                            ..........  73.69% 1154*

Compression:    73.69 %
Duration:        2.78 sec
Speed:        1153.95 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p1a.tak p1a.wav
p1a.tak                            ..........  659* Ok

Duration:        4.86 sec
Speed:        659.20 * real time

H:\>TAKC -e -p1e -tn2 -cpuSSSE3 test.wav p1e.tak
test.wav                            ..........  73.63%  725*

Compression:    73.63 %
Duration:        4.42 sec
Speed:          724.51 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p1e.tak p1e.wav
p1e.tak                            ..........  655* Ok

Duration:        4.89 sec
Speed:        655.30 * real time

H:\>TAKC -e -p1m -tn2 -cpuSSSE3 test.wav p1m.tak
test.wav                            ..........  73.56%  467*

Compression:    73.56 %
Duration:        6.86 sec
Speed:          467.05 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p1m.tak p1m.wav
p1m.tak                            ..........  657* Ok

Duration:        4.87 sec
Speed:        657.28 * real time

H:\>TAKC -e -p2  -tn2 -cpuSSSE3 test.wav p2a.tak
test.wav                            ..........  73.48%  857*

Compression:    73.48 %
Duration:        3.74 sec
Speed:          857.08 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p2a.tak p2a.wav
p2a.tak                            ..........  603* Ok

Duration:        5.31 sec
Speed:        603.38 * real time

H:\>TAKC -e -p2e -tn2 -cpuSSSE3 test.wav p2e.tak
test.wav                            ..........  73.41%  495*

Compression:    73.41 %
Duration:        6.47 sec
Speed:          495.04 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p2e.tak p2e.wav
p2e.tak                            ..........  602* Ok

Duration:        5.32 sec
Speed:        602.08 * real time

H:\>TAKC -e -p2m -tn2 -cpuSSSE3 test.wav p2m.tak
test.wav                            ..........  73.35%  272*

Compression:    73.35 %
Duration:        11.80 sec
Speed:          271.61 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p2m.tak p2m.wav
p2m.tak                            ..........  600* Ok

Duration:        5.34 sec
Speed:        599.91 * real time

H:\>TAKC -e -p3  -tn2 -cpuSSSE3 test.wav p3a.tak
test.wav                            ..........  73.28%  446*

Compression:    73.28 %
Duration:        7.19 sec
Speed:          445.72 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p3a.tak p3a.wav
p3a.tak                            ..........  575* Ok

Duration:        5.57 sec
Speed:        575.46 * real time

H:\>TAKC -e -p3e -tn2 -cpuSSSE3 test.wav p3e.tak
test.wav                            ..........  73.24%  358*

Compression:    73.24 %
Duration:        8.94 sec
Speed:          358.25 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p3e.tak p3e.wav
p3e.tak                            ..........  577* Ok

Duration:        5.55 sec
Speed:        577.04 * real time

H:\>TAKC -e -p3m -tn2 -cpuSSSE3 test.wav p3m.tak
test.wav                            ..........  73.21%  183*

Compression:    73.21 %
Duration:        17.54 sec
Speed:          182.65 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p3m.tak p3m.wav
p3m.tak                            ..........  582* Ok

Duration:        5.50 sec
Speed:        582.38 * real time

H:\>TAKC -e -p4  -tn2 -cpuSSSE3 test.wav p4a.tak
test.wav                            ..........  73.17%  286*

Compression:    73.17 %
Duration:        11.19 sec
Speed:          286.30 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p4a.tak p4a.wav
p4a.tak                            ..........  533* Ok

Duration:        6.01 sec
Speed:        533.05 * real time

H:\>TAKC -e -p4e -tn2 -cpuSSSE3 test.wav p4e.tak
test.wav                            ..........  73.14%  238*

Compression:    73.14 %
Duration:        13.44 sec
Speed:          238.31 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p4e.tak p4e.wav
p4e.tak                            ..........  535* Ok

Duration:        5.98 sec
Speed:        535.34 * real time

H:\>TAKC -e -p4m -tn2 -cpuSSSE3 test.wav p4m.tak
test.wav                            ..........  73.11%  116*

Compression:    73.11 %
Duration:        27.69 sec
Speed:          115.71 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p4m.tak p4m.wav
p4m.tak                            ..........  542* Ok

Duration:        5.91 sec
Speed:        542.00 * real time

H:\>TAKC -e -p0  -tn3 -cpuSSSE3 test.wav p0a.tak
test.wav                            ..........  74.55% 1878*

Compression:    74.55 %
Duration:        1.71 sec
Speed:        1877.93 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p0a.tak p0a.wav
p0a.tak                            ..........  691* Ok

Duration:        4.64 sec
Speed:        691.13 * real time

H:\>TAKC -e -p0e -tn3 -cpuSSSE3 test.wav p0e.tak
test.wav                            ..........  74.22% 1564*

Compression:    74.22 %
Duration:        2.05 sec
Speed:        1563.79 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p0e.tak p0e.wav
p0e.tak                            ..........  686* Ok

Duration:        4.67 sec
Speed:        685.52 * real time

H:\>TAKC -e -p0m -tn3 -cpuSSSE3 test.wav p0m.tak
test.wav                            ..........  74.12%  898*

Compression:    74.12 %
Duration:        3.57 sec
Speed:          898.41 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p0m.tak p0m.wav
p0m.tak                            ..........  695* Ok

Duration:        4.61 sec
Speed:        695.08 * real time

H:\>TAKC -e -p1  -tn3 -cpuSSSE3 test.wav p1a.tak
test.wav                            ..........  73.69% 1649*

Compression:    73.69 %
Duration:        1.94 sec
Speed:        1649.00 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p1a.tak p1a.wav
p1a.tak                            ..........  658* Ok

Duration:        4.87 sec
Speed:        657.50 * real time

H:\>TAKC -e -p1e -tn3 -cpuSSSE3 test.wav p1e.tak
test.wav                            ..........  73.63% 1047*

Compression:    73.63 %
Duration:        3.06 sec
Speed:        1046.82 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p1e.tak p1e.wav
p1e.tak                            ..........  665* Ok

Duration:        4.81 sec
Speed:        665.41 * real time

H:\>TAKC -e -p1m -tn3 -cpuSSSE3 test.wav p1m.tak
test.wav                            ..........  73.56%  676*

Compression:    73.56 %
Duration:        4.74 sec
Speed:          676.42 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p1m.tak p1m.wav
p1m.tak                            ..........  659* Ok

Duration:        4.86 sec
Speed:        658.97 * real time

H:\>TAKC -e -p2  -tn3 -cpuSSSE3 test.wav p2a.tak
test.wav                            ..........  73.48% 1230*

Compression:    73.48 %
Duration:        2.60 sec
Speed:        1230.41 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p2a.tak p2a.wav
p2a.tak                            ..........  605* Ok

Duration:        5.30 sec
Speed:        604.91 * real time

H:\>TAKC -e -p2e -tn3 -cpuSSSE3 test.wav p2e.tak
test.wav                            ..........  73.41%  722*

Compression:    73.41 %
Duration:        4.44 sec
Speed:          721.72 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p2e.tak p2e.wav
p2e.tak                            ..........  606* Ok

Duration:        5.28 sec
Speed:        606.20 * real time

H:\>TAKC -e -p2m -tn3 -cpuSSSE3 test.wav p2m.tak
test.wav                            ..........  73.35%  398*

Compression:    73.35 %
Duration:        8.05 sec
Speed:          397.75 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p2m.tak p2m.wav
p2m.tak                            ..........  606* Ok

Duration:        5.29 sec
Speed:        605.51 * real time

H:\>TAKC -e -p3  -tn3 -cpuSSSE3 test.wav p3a.tak
test.wav                            ..........  73.28%  655*

Compression:    73.28 %
Duration:        4.89 sec
Speed:          654.90 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p3a.tak p3a.wav
p3a.tak                            ..........  581* Ok

Duration:        5.51 sec
Speed:        581.47 * real time

H:\>TAKC -e -p3e -tn3 -cpuSSSE3 test.wav p3e.tak
test.wav                            ..........  73.24%  521*

Compression:    73.24 %
Duration:        6.15 sec
Speed:          520.71 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p3e.tak p3e.wav
p3e.tak                            ..........  580* Ok

Duration:        5.52 sec
Speed:        579.90 * real time

H:\>TAKC -e -p3m -tn3 -cpuSSSE3 test.wav p3m.tak
test.wav                            ..........  73.21%  269*

Compression:    73.21 %
Duration:        11.91 sec
Speed:          268.88 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p3m.tak p3m.wav
p3m.tak                            ..........  577* Ok

Duration:        5.55 sec
Speed:        577.46 * real time

H:\>TAKC -e -p4  -tn3 -cpuSSSE3 test.wav p4a.tak
test.wav                            ..........  73.17%  419*

Compression:    73.17 %
Duration:        7.64 sec
Speed:          419.13 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p4a.tak p4a.wav
p4a.tak                            ..........  539* Ok

Duration:        5.95 sec
Speed:        538.60 * real time

H:\>TAKC -e -p4e -tn3 -cpuSSSE3 test.wav p4e.tak
test.wav                            ..........  73.14%  349*

Compression:    73.14 %
Duration:        9.19 sec
Speed:          348.58 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p4e.tak p4e.wav
p4e.tak                            ..........  534* Ok

Duration:        5.99 sec
Speed:        534.50 * real time

H:\>TAKC -e -p4m -tn3 -cpuSSSE3 test.wav p4m.tak
test.wav                            ..........  73.11%  168*

Compression:    73.11 %
Duration:        19.12 sec
Speed:          167.53 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p4m.tak p4m.wav
p4m.tak                            ..........  539* Ok

Duration:        5.94 sec
Speed:        539.25 * real time

H:\>TAKC -e -p0  -tn4 -cpuSSSE3 test.wav p0a.tak
test.wav                            ..........  74.55% 1890*

Compression:    74.55 %
Duration:        1.69 sec
Speed:        1890.28 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p0a.tak p0a.wav
p0a.tak                            ..........  697* Ok

Duration:        4.60 sec
Speed:        696.93 * real time

H:\>TAKC -e -p0e -tn4 -cpuSSSE3 test.wav p0e.tak
test.wav                            ..........  74.22% 1771*

Compression:    74.22 %
Duration:        1.81 sec
Speed:        1771.36 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p0e.tak p0e.wav
p0e.tak                            ..........  687* Ok

Duration:        4.67 sec
Speed:        686.50 * real time

H:\>TAKC -e -p0m -tn4 -cpuSSSE3 test.wav p0m.tak
test.wav                            ..........  74.12% 1030*

Compression:    74.12 %
Duration:        3.11 sec
Speed:        1029.84 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p0m.tak p0m.wav
p0m.tak                            ..........  690* Ok

Duration:        4.65 sec
Speed:        689.57 * real time

H:\>TAKC -e -p1  -tn4 -cpuSSSE3 test.wav p1a.tak
test.wav                            ..........  73.69% 1841*

Compression:    73.69 %
Duration:        1.74 sec
Speed:        1840.74 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p1a.tak p1a.wav
p1a.tak                            ..........  661* Ok

Duration:        4.84 sec
Speed:        661.29 * real time

H:\>TAKC -e -p1e -tn4 -cpuSSSE3 test.wav p1e.tak
test.wav                            ..........  73.63% 1201*

Compression:    73.63 %
Duration:        2.67 sec
Speed:        1201.28 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p1e.tak p1e.wav
p1e.tak                            ..........  659* Ok

Duration:        4.86 sec
Speed:        658.66 * real time

H:\>TAKC -e -p1m -tn4 -cpuSSSE3 test.wav p1m.tak
test.wav                            ..........  73.56%  737*

Compression:    73.56 %
Duration:        4.35 sec
Speed:          736.66 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p1m.tak p1m.wav
p1m.tak                            ..........  659* Ok

Duration:        4.86 sec
Speed:        658.85 * real time

H:\>TAKC -e -p2  -tn4 -cpuSSSE3 test.wav p2a.tak
test.wav                            ..........  73.48% 1360*

Compression:    73.48 %
Duration:        2.36 sec
Speed:        1360.03 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p2a.tak p2a.wav
p2a.tak                            ..........  602* Ok

Duration:        5.32 sec
Speed:        601.78 * real time

H:\>TAKC -e -p2e -tn4 -cpuSSSE3 test.wav p2e.tak
test.wav                            ..........  73.41%  797*

Compression:    73.41 %
Duration:        4.02 sec
Speed:          797.16 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p2e.tak p2e.wav
p2e.tak                            ..........  609* Ok

Duration:        5.26 sec
Speed:        608.52 * real time

H:\>TAKC -e -p2m -tn4 -cpuSSSE3 test.wav p2m.tak
test.wav                            ..........  73.35%  443*

Compression:    73.35 %
Duration:        7.23 sec
Speed:          443.17 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p2m.tak p2m.wav
p2m.tak                            ..........  601* Ok

Duration:        5.33 sec
Speed:        600.71 * real time

H:\>TAKC -e -p3  -tn4 -cpuSSSE3 test.wav p3a.tak
test.wav                            ..........  73.28%  720*

Compression:    73.28 %
Duration:        4.45 sec
Speed:          719.77 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p3a.tak p3a.wav
p3a.tak                            ..........  578* Ok

Duration:        5.54 sec
Speed:        577.88 * real time

H:\>TAKC -e -p3e -tn4 -cpuSSSE3 test.wav p3e.tak
test.wav                            ..........  73.24%  578*

Compression:    73.24 %
Duration:        5.54 sec
Speed:          578.42 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p3e.tak p3e.wav
p3e.tak                            ..........  578* Ok

Duration:        5.54 sec
Speed:        578.30 * real time

H:\>TAKC -e -p3m -tn4 -cpuSSSE3 test.wav p3m.tak
test.wav                            ..........  73.21%  301*

Compression:    73.21 %
Duration:        10.64 sec
Speed:          301.10 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p3m.tak p3m.wav
p3m.tak                            ..........  580* Ok

Duration:        5.52 sec
Speed:        579.99 * real time

H:\>TAKC -e -p4  -tn4 -cpuSSSE3 test.wav p4a.tak
test.wav                            ..........  73.17%  467*

Compression:    73.17 %
Duration:        6.85 sec
Speed:          467.37 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p4a.tak p4a.wav
p4a.tak                            ..........  533* Ok

Duration:        6.01 sec
Speed:        532.99 * real time

H:\>TAKC -e -p4e -tn4 -cpuSSSE3 test.wav p4e.tak
test.wav                            ..........  73.14%  399*

Compression:    73.14 %
Duration:        8.02 sec
Speed:          399.45 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p4e.tak p4e.wav
p4e.tak                            ..........  531* Ok

Duration:        6.04 sec
Speed:        530.75 * real time

H:\>TAKC -e -p4m -tn4 -cpuSSSE3 test.wav p4m.tak
test.wav                            ..........  73.11%  193*

Compression:    73.11 %
Duration:        16.62 sec
Speed:          192.71 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p4m.tak p4m.wav
p4m.tak                            ..........  535* Ok

Duration:        5.98 sec
Speed:        535.43 * real time

Title: TAK 2.3.0 beta
Post by: TBeck on 2013-06-08 19:31:00
Maybe ramdrive is too fast for testing small samples.

May i ask, what ramdrive you are using? I am looking for one, which can easily be deactivated or shrinked, if i don't need it.

Well, probably it is easier to achieve less variable results with my test set up:

1. I don't output anything. I use -te and -t.
2. For each preset i am performing 12 runs (less for the most demanding encoder presets). First two to get the source data into window's file cache. 10 runs are beeing evaluated.
3. Then i take the minimum processing time respectively the maximum speed.

That's a nice setup for testing my code optimization. But i wouldn't recommend it for general codec comparisons, because the speed of file output may be systematically affected by a codec's design (for instance by the frame size).

For my lateset decoding speed test run (i was evaluating some code modification) i got these results:

Code: [Select]
Preset  Ratio   Speed
                Max     Mean    Min     N
-p0s        0.00  504.65  504.14  503.16      10
-p0e        0.00  505.82  505.22  504.32      10
-p0m        0.00  507.24  506.69  505.59      10
-p1s        0.00  481.07  480.67  479.51      10
-p1e        0.00  481.83  481.30  480.41      10
-p1m        0.00  483.45  482.88  481.95      10
-p2s        0.00  426.10  425.57  425.02      10
-p2e        0.00  422.71  422.43  421.96      10
-p2m        0.00  424.98  424.82  424.12      10
-p3s        0.00  387.39  387.19  386.87      10
-p3e        0.00  387.47  385.90  381.98      10
-p3m        0.00  386.61  383.64  372.94      10
-p4s        0.00  347.22  347.10  346.92      10
-p4e        0.00  346.60  346.40  346.06      10
-p4m        0.00  346.77  343.69  330.32      10

Well, seems as if i am also getting some outliers...

As stated above, i don't recommend my test setup for practical comparisons.

And your multi-threaded-encoder results are sufficiently accurate to show me, that the encoder isn't scaling optimally with the thread count.

In your first test decoding speed got down with the decrease of the thread count parameter. That's surprising, because the decoder currently will never use more than 1 thread.

Log for largest (WPCR-13753).

I performed a quick evaluation of the main presets:

Code: [Select]
        Speed                             Difference to Mean
        tn1     tn2      tn3      tn4     tn1     tn2     tn3     tn4
p0a     689     693      691      697      -3.5     0.5    -1.5     4.5
p1a     656     659      658      661      -2.5     0.5    -0.5     2.5
p2a     601     603      605      602      -1.8     0.3     2.3    -0.8
p3a     579     575      581      578       0.8    -3.3     2.8    -0.3
p4a     509     533      539      533     -19.5     4.5    10.5     4.5
p4m     532     542      539      535      -5.0     5.0     2.0    -2.0
Mean:   594.33  600.83   602.17   601.00   -5.3     1.3     2.6     1.4

It seems to comfirm my statement, but i wouldn't bet on it. I only performed a fast visual inspection of your previous data, and this way it's easy to get fooled.

Title: TAK 2.3.0 beta
Post by: Skymmer on 2013-06-09 11:11:44
Its a big pleasure to see that TAK development goes on. Thank you Thomas for this release!
Here is the speed comparison between 2.2.0 and 2.3.0b2
Hardware\OS: i7-2700K overclocked to 4500 MHz, DDR3-1600, Windows XP x64 SP2
Test set: 30 randomly taken audio tracks. Converted from lossless to one WAV PCM file (1 850 849 944 bytes, 44100\16bit\2ch)
Conditions: Tested on RAM disk, timetest utility used for time measurement, -tn4 -silent options for TAK, post-compare with FC /B


Seriously, with current CPUs and multi-threading, TAK -p2 compresses at 223 MB\s. Its far beyond the usual HDD speeds (SSD is not discussable here). Also, you're anyway limited with your network bandwidth so its no matter how fast you have compressed your project - it will take the same time for transfering it to external storage or some person. But it will take less time if the files are compressed more tightly.

May i ask, what ramdrive you are using? I am looking for one, which can easily be deactivated or shrinked, if i don't need it.

Although this question is not addressed to me, I can suggest SuperSpeed RAMDisk Plus. But its not a freeware. You can also try AR Soft RAMDisk, Dataram_RAMDisk, Gavotte_RAMDisk, QSoft RAMDisk, VSuite Ramdisk.
Title: TAK 2.3.0 beta
Post by: skamp on 2013-06-09 11:32:44
SSD is not discussable here


Why not? I'd say SSDs are very much relevant, in this day and age.
Title: TAK 2.3.0 beta
Post by: TBeck on 2013-06-10 21:38:40
Its a big pleasure to see that TAK development goes on. Thank you Thomas for this release!

Yea, i still have some ideas and plans, but unfortunately less time to spend. But the latter might change in the medium term.

Really good speedup. Honestly speaking I am impressed!

Thank you! I am very happy about the speed up. I wouldn't have thought, that i could squeeze so much out of the already extremely optimized code.

But your comparison (once more) shows me two important things:

1. The multi-threaded-encoder performance has to be improved. I think i know, why it doesn't scale well with more than 2 cores.

2. Quad cores are much more common now. Therefore it does make sense, to invest into the above mentioned improvements. And it also may be adequate,  to implement significanty slower compression improvements.

1.) WAV parser in TAK is not optimal.

I've got the files. But i don't hink, i will deal with the issue before the next release.

2.) Small cosmetic issue.
-fsl# option description in console version contains text: Up to 8192 for -cLW. LossyWav oriented codec have been removed, so the text is obsolete.

Indeed. I stumbled upon it myself, but then forgot to fix it...

3.) It would be nice if GUI version would keep its settings (number of threads, compression level, etc) in for example INI file. Not so critical, but little bit unpleasant.

Noted.

4.) You mentioned that removing the "Beta" word from final version could affect the code aligning. I thought about it and can suggest at least three ways to avoid it.

Very good! Unfortunately the beta releases often also contain some debug code, which is beeing disabled in the final release.

5.) More compression 
Seriously, with current CPUs and multi-threading, TAK -p2 compresses at 223 MB\s. Its far beyond the usual HDD speeds (SSD is not discussable here). Also, you're anyway limited with your network bandwidth so its no matter how fast you have compressed your project - it will take the same time for transfering it to external storage or some person. But it will take less time if the files are compressed more tightly.

I am just trying some things... But compression improvements will be small and make the encoder (the Xm-presets) very much slower.


Title: TAK 2.3.0 beta
Post by: TBeck on 2013-06-15 21:19:59
5.) More compression 
Seriously, with current CPUs and multi-threading, TAK -p2 compresses at 223 MB\s. Its far beyond the usual HDD speeds (SSD is not discussable here). Also, you're anyway limited with your network bandwidth so its no matter how fast you have compressed your project - it will take the same time for transfering it to external storage or some person. But it will take less time if the files are compressed more tightly.

I am just trying some things... But compression improvements will be small and make the encoder (the Xm-presets) very much slower.

Well, i have spend several days on this. Although i am supposed to do something totally different. My fault. But it was fun...

The results are as expected: Without breaking backwards compatibility and without making decoding slower, it's quite difficult to improve the compression ratio. The one new feature i have optimized provides only about 0.06 percent better compression for my primary sample set. But it halves the encoding speed of the -pXm - presets. Ok, the improvements for some quite extraordinary files can be as high as 1.5 percent. If someone should own a lot of such files, it could get interesting.

Currently i am not sure, if such small improvements (there are some more i could try) of the compression ratio are worth the heavy speed penalty. I will think about it and possibly create a TAK-2.4.0-development thread to ask the users, what they think. But this willl not happen within the next months.

For now, i have to release TAK 2.3.0 Final.

If someone has encountered any bugs, please report them now.

  Thomas


Title: TAK 2.3.0 beta
Post by: no404error on 2013-06-16 04:57:40
May i ask, what ramdrive you are using? I am looking for one, which can easily be deactivated or shrinked, if i don't need it.


ImDisk Virtual Disk Driver - http://www.ltr-data.se/opencode.html/ (http://www.ltr-data.se/opencode.html/)

Well, probably it is easier to achieve less variable results with my test set up:

1. I don't output anything. I use -te and -t.
2. For each preset i am performing 12 runs (less for the most demanding encoder presets). First two to get the source data into window's file cache. 10 runs are beeing evaluated.
3. Then i take the minimum processing time respectively the maximum speed.

Ok.
Title: TAK 2.3.0 beta
Post by: CoRoNe on 2013-06-16 17:23:37
If someone has encountered any bugs, please report them now.
The [a href='index.php?act=findpost&pid=762963']cuesheet-issue[/a] (with AND without pipe) still persists.
Quote
"key=@file" will read the value from the text(!) file "file" in the source directory.
Obviously there's no source directory when Takc's input comes from Wvunpack's output (pipe). That's where it goes wrong.

The support for binary items like pictures is now on my todo list for V2.2.1. If nothing intervenes.
How's this coming along?

...Without breaking backwards compatibility and without making decoding slower, it's quite difficult to improve the compression ratio...
Are you saying, breaking compatibility would allow for much stronger compression?
Title: TAK 2.3.0 beta
Post by: Corpulencio on 2013-06-17 19:35:11
By the way, ImgBurn now supports TAK (http://www.imgburn.com/index.php?act=changelog) (as of version 2.5.8.0).
Title: TAK 2.3.0 beta
Post by: TBeck on 2013-06-17 21:28:32
If someone has encountered any bugs, please report them now.
The [a href='index.php?act=findpost&pid=762963']cuesheet-issue[/a] (with AND without pipe) still persists.
The support for binary items like pictures is now on my todo list for V2.2.1. If nothing intervenes.
How's this coming along?

Thank you for reminding me. I had lost sight of it.   

...Without breaking backwards compatibility and without making decoding slower, it's quite difficult to improve the compression ratio...
Are you saying, breaking compatibility would allow for much stronger compression?

Not much stronger. I can only estimate the possible outcome on the basis of the things i have already evaluated to some extent:

- About 0.10 percent better compression without breaking backwards compatibility and without making decoding singinificantly slower.
- About 0.20 percent better compression without breaking backwards compatibility but with slower decoding of the -p4x-preset.
- Possibly 0.30 percent better compression with breaking backwards compatibility  and with slower decoding of the -p4x-preset.
- Possibly 0.40 percent better compression with breaking backwards compatibility and with singinificantly slower decoding (still a lot faster than for instance OptimFrog) of any preset.

I was tempted to write a lot more, but currently i have no time to discuss this in depth...

By the way, ImgBurn now supports TAK (http://www.imgburn.com/index.php?act=changelog) (as of version 2.5.8.0).

Great news! Thank you very much!

I hope to release TAK 2.3.0 final tommorrow. It has passed most of my tests, but the last one will take quite long and i don't want to let it run overnight.
Title: TAK 2.3.0 beta
Post by: eahm on 2013-06-17 23:37:58
TBeck, are you going to release the source code of TAK? I'd like to have the security of something that will last long enough if something happens to you or if you quit your passion for the codec. Until then, I can't  consider completely switching to TAK from FLAC.

Thanks.
Title: TAK 2.3.0 beta
Post by: saratoga on 2013-06-17 23:50:38
I'd like to have the security of something that will last long enough if something happens to you or if you quit your passion for the codec.


Not a direct answer to your question, but there is an open source decoder in ffmpeg, so regardless of what happens it will always be possible to decode tak files. 
Title: TAK 2.3.0 beta
Post by: greynol on 2013-06-18 00:08:39
TBeck, are you going to release the source code of TAK? I'd like to have the security of something that will last long enough if something happens to you or if you quit your passion for the codec. Until then, I can't  consider completely switching to TAK from FLAC.

Thanks.

This has been discussed many times already.  Thomas will do as he pleases with his code.  In the meantime this topic is about beta development; it will not be about when or whether source code will be released.  Future posts on the matter will be binned, which may include administrative action.
Title: TAK 2.3.0 beta
Post by: TBeck on 2013-06-18 09:31:28
TBeck, are you going to release the source code of TAK? I'd like to have the security of something that will last long enough if something happens to you or if you quit your passion for the codec. Until then, I can't  consider completely switching to TAK from FLAC.

I think in the worst case you would have to transcode your files from TAK to another format. If i would quit the work on TAK and new operating systems would  drop support for the latest release (for instance if windows would no longer support 32-bit-applications), you probably would have years left to perform the transition. But ok, this would mean a lot of work.

This has been discussed many times already.  Thomas will do as he pleases with his code.  In the meantime this topic is about beta development; it will not be about when or whether source code will be released.  Future posts on the matter will be binned, which may include administrative action.

This might sound a bit harsh, but if you have traced the TAK development threads a couple of years ago, you possibly will understand.

I made promisese regarding an open source release, which i first could not and -at some point- did not want to keep. My biggest fault. I surely deserved critic, but there have also been a lot of inappropriate insults. And some members seemed to jump at any chance to attack me over and over again.

I don't want to make the same mistakes again. Therefore no promisese. I only can tell you my current attitude:

I would like to release an open source decoder. If i could snap with the fingers and it was there, i would do it. But unless someone donates me a magic wand, a lot of (not very exciting) work is required. And i don't know, when i will able to do it.

That's all i can say. Nothing more to add.
Title: TAK 2.3.0 beta
Post by: skamp on 2013-06-18 09:58:21
Not much stronger. I can only estimate the possible outcome on the basis of the things i have already evaluated to some extent:

- About 0.10 percent better compression without breaking backwards compatibility and without making decoding singinificantly slower.

[snip]


Ignoring the fact that improving compression ratios might be a lot of fun to you, from a user's perspective, such marginal improvements would probably not be worth the extra cost on decoding speeds (and format incompatibilities).

In other news, I just released caudec 1.7.0, and I just wanted to point out that it supports parsing information from both TAK 2.3.0 beta (with the new machine-parsable output), and TAK 2.2.0. I don't have immediate plans to phase out support for the latter.
Title: TAK 2.3.0 beta
Post by: TBeck on 2013-06-18 16:40:37
TAK 2.3.0 Final (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=101386&view=findpost&p=837465)

has been released.