IPB

Welcome Guest ( Log In | Register )

3 Pages V   1 2 3 >  
Reply to this topicStart new topic
TAK 1.0.2, (including Winamp plugin 1.0.5 and SDK 1.0.4)
TBeck
post Nov 5 2007, 03:48
Post #1


TAK Developer


Group: Developer
Posts: 1098
Joined: 1-April 06
Member No.: 29051



Final release of TAK 1.0.2 ((T)om's lossless (A)udio (K)ompressor)

This version brings a new low complexity Turbo preset, a faster preset configuration, a significant encoding speedup of the strongest setting and support for the LossyWav/LossyFlac preprocessor.

It consists of:

- TAK Applications 1.0.2.
- TAK Winamp plugin 1.0.6 (Updated 2007-11-12).
- TAK SDK 1.0.4.
- TAK Decoding library 1.0.5.

Download and Changelog

Download the main archive and tools, and view the changelog, in the upload section: TAK 1.0.2 Final

This post has been edited by TBeck: Nov 12 2007, 23:48
Go to the top of the page
+Quote Post
ArtMustHurt
post Nov 5 2007, 13:40
Post #2





Group: Members
Posts: 232
Joined: 8-October 04
Member No.: 17570



wow nice...awesome work smile.gif will check out the new version...thanks TBeck
Go to the top of the page
+Quote Post
hlloyge
post Nov 5 2007, 14:56
Post #3





Group: Members
Posts: 701
Joined: 10-January 06
From: Zagreb
Member No.: 27018



Thank you very much, Thomas. Your work is appreciated.
Go to the top of the page
+Quote Post
shadowking
post Nov 5 2007, 16:28
Post #4





Group: Members
Posts: 1529
Joined: 31-January 04
Member No.: 11664



Good one. I like tak.


--------------------
Wavpack -b450s0.7
Go to the top of the page
+Quote Post
Gow
post Nov 5 2007, 17:17
Post #5





Group: Members
Posts: 233
Joined: 14-June 06
From: Fort Wayne, IN
Member No.: 31824



Very nice speed increase when encoding into -p4 and only a small increase to the total file size. Great work!


--------------------
Zune 80, Tak -p4 audio library, Lossless=Choice
Go to the top of the page
+Quote Post
Dr. Oviri
post Nov 5 2007, 19:13
Post #6





Group: Banned
Posts: 139
Joined: 21-March 07
Member No.: 41686



The error in WinAmp plugin persists dry.gif
Go to the top of the page
+Quote Post
Pilzfuss
post Nov 5 2007, 20:50
Post #7





Group: Members
Posts: 3
Joined: 16-September 07
Member No.: 47112



I'll use it from now on.



Thanks heaps smile.gif
Go to the top of the page
+Quote Post
IgorC
post Nov 6 2007, 03:15
Post #8





Group: Members
Posts: 1580
Joined: 3-January 05
From: ARG/RUS
Member No.: 18803



Any chance to get update for foobar decoder? http://foosion.foobar2000.org/0.9/
Go to the top of the page
+Quote Post
Mangix
post Nov 6 2007, 08:40
Post #9





Group: Members
Posts: 591
Joined: 26-February 06
Member No.: 28077



QUOTE (IgorC @ Nov 5 2007, 18:15) *
Any chance to get update for foobar decoder? http://foosion.foobar2000.org/0.9/

no point. you can just replace tak_deco_lib.dll with the newest one.
Go to the top of the page
+Quote Post
IgorC
post Nov 6 2007, 17:28
Post #10





Group: Members
Posts: 1580
Joined: 3-January 05
From: ARG/RUS
Member No.: 18803



QUOTE (Mangix @ Nov 5 2007, 23:40) *
QUOTE (IgorC @ Nov 5 2007, 18:15) *

Any chance to get update for foobar decoder? http://foosion.foobar2000.org/0.9/

no point. you can just replace tak_deco_lib.dll with the newest one.

I didn't noticed that. Thanks.
Go to the top of the page
+Quote Post
AndersHu
post Nov 7 2007, 00:06
Post #11





Group: Members
Posts: 30
Joined: 2-April 06
Member No.: 29111



I don't know if it is the foo_input_tak.dll or the tak_deco_lib.dll, but for the new Insane preset Foobar shows "Codec Profile : TAK 5 extra".
Go to the top of the page
+Quote Post
foosion
post Nov 7 2007, 13:59
Post #12





Group: FB2K Moderator (Donating)
Posts: 4482
Joined: 24-February 03
Member No.: 5153



QUOTE (AndersHu @ Nov 7 2007, 00:06) *
I don't know if it is the foo_input_tak.dll or the tak_deco_lib.dll, but for the new Insane preset Foobar shows "Codec Profile : TAK 5 extra".

That is expected as the current version of foo_input_tak does not know about the Insane preset yet; tak_deco_lib only reports the numerical code.


--------------------
http://foosion.foobar2000.org/ - my components for foobar2000
Go to the top of the page
+Quote Post
shaohao
post Nov 7 2007, 16:02
Post #13





Group: Members
Posts: 69
Joined: 3-June 02
Member No.: 2205



Hi, TBeck:
About the C header file "tak_deco_lib.h"
I think you should add
CODE
#ifndef _TAK_DECO_LIB
#define _TAK_DECO_LIB
...
#endif

otherwise, the head will be included more than once in a project.
Go to the top of the page
+Quote Post
shaohao
post Nov 7 2007, 17:20
Post #14





Group: Members
Posts: 69
Joined: 3-June 02
Member No.: 2205



There is a deadly bug in your new SDK 1.0.4.
I've created a decoding plug-in for a player with your TAK v1.0.1 and it works fine.
But the .tak file CANNOT be decoded by your new tak_deco_lib.dll after I update it to your TAK v1.0.2.

I have tried to debug my programme and I found that A deadly bug will be caught after I invoked "tak_SSD_ReadAudio" 6-7 times.

Can you fix it?
Go to the top of the page
+Quote Post
GeSomeone
post Nov 7 2007, 19:08
Post #15





Group: Members
Posts: 922
Joined: 22-October 01
From: the Netherlands
Member No.: 335



QUOTE (foosion @ Nov 7 2007, 13:59) *
QUOTE (AndersHu @ Nov 7 2007, 00:06) *
..but for the new Insane preset Foobar shows "Codec Profile : TAK 5 extra".

That is expected as the current version of foo_input_tak does not know about the Insane preset yet; tak_deco_lib only reports the numerical code.


How about having it always show the numeric value?
If I'm correct the old Normal is about the same as the new High
(Likewise the old -p2 is about the same as the new -p3).
unsure.gif Hmm... I see now that it wouldn't help.
Go to the top of the page
+Quote Post
TBeck
post Nov 7 2007, 23:19
Post #16


TAK Developer


Group: Developer
Posts: 1098
Joined: 1-April 06
Member No.: 29051



First, thanks for the encouraging words! smile.gif

QUOTE (Dr. Oviri @ Nov 5 2007, 19:13) *
The error in WinAmp plugin persists dry.gif

Until know i haven't dealt with it...

QUOTE (shaohao @ Nov 7 2007, 16:02) *
Hi, TBeck:
About the C header file "tak_deco_lib.h"
I think you should add
CODE
#ifndef _TAK_DECO_LIB
#define _TAK_DECO_LIB
...
#endif

otherwise, the head will be included more than once in a project.

Huh! I thought i had this done. Thanks for the hint!

QUOTE (shaohao @ Nov 7 2007, 17:20) *
There is a deadly bug in your new SDK 1.0.4.
I've created a decoding plug-in for a player with your TAK v1.0.1 and it works fine.
But the .tak file CANNOT be decoded by your new tak_deco_lib.dll after I update it to your TAK v1.0.2.

I have tried to debug my programme and I found that A deadly bug will be caught after I invoked "tak_SSD_ReadAudio" 6-7 times.

Can you fix it?

Not without further information. Of course i have checked the backwards compatibility before releasing V1.0.2. Ok, i only checked the applications but since they are using the same code as the library this should be sufficient.

Can you decode the file with the V1.0.2 applications?

Can you send me the affected file via email (see my profile)?

Thomas

This post has been edited by TBeck: Nov 7 2007, 23:21
Go to the top of the page
+Quote Post
RamonSalazar
post Nov 8 2007, 00:19
Post #17





Group: Members
Posts: 37
Joined: 21-October 07
Member No.: 48027



Ive asked Cog developer if he could implement TAK into Cog. The short answer:

QUOTE
Neither of these formats seem to have an open source decoder. dry.gif

Without that, I'm not very interested in adding support for it. Plugins could be written for them, but I won't be including them in the main distribution and I won't be making them.
Go to the top of the page
+Quote Post
viktor
post Nov 8 2007, 02:57
Post #18





Group: Members
Posts: 302
Joined: 17-November 06
Member No.: 37682



QUOTE (RamonSalazar @ Nov 8 2007, 00:19) *
Ive asked Cog developer if he could implement TAK into Cog. The short answer:

QUOTE

Neither of these formats seem to have an open source decoder. dry.gif

Without that, I'm not very interested in adding support for it. Plugins could be written for them, but I won't be including them in the main distribution and I won't be making them.


yeah i also wanted to say that tak cant expect to be spread till its closed source
Go to the top of the page
+Quote Post
RamonSalazar
post Nov 8 2007, 09:07
Post #19





Group: Members
Posts: 37
Joined: 21-October 07
Member No.: 48027



Yes, i think the decoder part should be open source. I dont kow much about these algorithms, but if the decoding process is invertabe then it cant be done alone saflely (without the enc p.).

For OSX i dont know any other lossless audio player (even if it plays only a small part of the formats). Once i had to decode my albums before i played them in OSX. TAK is yet only for Win32? sad.gif

Tom, youve made a good work, thanks.

EDIT: Irrelevant, Ive find the answer in the wiki .

This post has been edited by RamonSalazar: Nov 8 2007, 15:30
Go to the top of the page
+Quote Post
shaohao
post Nov 8 2007, 17:03
Post #20





Group: Members
Posts: 69
Joined: 3-June 02
Member No.: 2205



QUOTE (TBeck @ Nov 7 2007, 22:19) *
Not without further information. Of course i have checked the backwards compatibility before releasing V1.0.2. Ok, i only checked the applications but since they are using the same code as the library this should be sufficient.

Can you decode the file with the V1.0.2 applications?

Can you send me the affected file via email (see my profile)?

Thomas


Hi, Thomas:
I use your new v1.0.2 to encode a new .tak file and decode it. Everything is OK.
But my code did not work.
Here is my sample code.
Can you help me to fix it? It only decode one frame and exit:(
CODE
#include <windows.h>
#include <stdio.h>
#include "tak_deco_lib.h"
#pragma comment( lib, "tak_deco_lib")

static TtakBool _CanRead(void * AUser) { return tak_True; }
static TtakBool _CanWrite(void * AUser) { return tak_False; }
static TtakBool _CanSeek(void * AUser) { return tak_True; }
static TtakBool _Read(void * AUser, void * ABuf, TtakInt32 ANum, TtakInt32 * AReadNum)
{
    FILE ** fp = (FILE **)AUser;
    *AReadNum = fread( (LPBYTE)ABuf, 1, ANum, *fp);
    if ( *AReadNum < ANum) {
        return tak_False;
    } else {
        return tak_True;
    }
}
static TtakBool _Seek(void * AUser, TtakInt64 APos)
{
    return (0 == _fseeki64( *(FILE **)AUser, APos, SEEK_SET)) ? tak_True : tak_False;
}
static TtakBool _GetLength(void * AUser, TtakInt64 * ALength)
{
    FILE ** fp = (FILE **)AUser;
    TtakInt64 pos = _ftelli64( *fp); // save it
    if ( 0 != _fseeki64( *fp, 0, SEEK_END)) return tak_False; // seek to end
    *ALength = _ftelli64( *fp); // get length
    if ( 0 != _fseeki64( *fp, pos, SEEK_SET)) return tak_False; // restore
    return tak_True;
}

int _tmain(int argc, _TCHAR* argv[])
{
    FILE * m_fp;
    m_fp = _tfopen( _T("test.tak"), _T("r"));

    TtakSeekableStreamDecoder m_Decoder;
    Ttak_str_StreamInfo       m_StreamInfo;

    LPBYTE m_TAKBuf; // decoded buffer

    // OPEN

    TtakSSDOptions            opt  = { tak_Cpu_Any, 0 };
    TtakStreamIoInterface     sioi = { _CanRead, _CanWrite, _CanSeek, _Read, NULL, NULL, NULL, _Seek, _GetLength };

    m_Decoder = tak_SSD_Create_FromStream( &sioi, &m_fp, &opt, NULL, NULL);

    int ret = 0;
    if ( (tak_True == tak_SSD_Valid( m_Decoder))
      && (tak_res_Ok == tak_SSD_GetStreamInfo( m_Decoder, &m_StreamInfo))
       )
    {
        // allocate decoding buffer
        m_TAKBuf = new BYTE[m_StreamInfo.Sizes.FrameSizeInSamples * m_StreamInfo.Audio.BlockSize];
    } else {
        tak_SSD_Destroy( m_Decoder);
        fclose( m_fp);
        return 0;
    }

    // DECODE
    TtakInt32 readNum;
    TtakResult takResult;
    do {
        takResult = tak_SSD_ReadAudio( m_Decoder, m_TAKBuf, m_StreamInfo.Sizes.FrameSizeInSamples, &readNum);
        Sleep( 10);
    } while ( (takResult == tak_res_Ok) || (takResult == tak_res_ssd_FrameDamaged));

    // DESTROY

    tak_SSD_Destroy( m_Decoder);

    fclose( m_fp);

    return 0;
}
Go to the top of the page
+Quote Post
TBeck
post Nov 8 2007, 17:47
Post #21


TAK Developer


Group: Developer
Posts: 1098
Joined: 1-April 06
Member No.: 29051



QUOTE (shaohao @ Nov 8 2007, 17:03) *
Hi, Thomas:
I use your new v1.0.2 to encode a new .tak file and decode it. Everything is OK.
But my code did not work.
Here is my sample code.
Can you help me to fix it? It only decode one frame and exit:(

At first sight your code looks ok.

I have to speculate a bit.

You don't check the success of _tfopen() before using the file with TAK. Possibly _tfopen() already fails...

QUOTE (shaohao @ Nov 8 2007, 17:03) *
CODE
int _tmain(int argc, _TCHAR* argv[])
{
    FILE * m_fp;
    m_fp = _tfopen( _T("test.tak"), _T("r"));

    TtakSeekableStreamDecoder m_Decoder;
    Ttak_str_StreamInfo       m_StreamInfo;

    LPBYTE m_TAKBuf; // decoded buffer

    // OPEN

    TtakSSDOptions            opt  = { tak_Cpu_Any, 0 };
    TtakStreamIoInterface     sioi = { _CanRead, _CanWrite, _CanSeek, _Read, NULL, NULL, NULL, _Seek, _GetLength };

    m_Decoder = tak_SSD_Create_FromStream( &sioi, &m_fp, &opt, NULL, NULL);
Go to the top of the page
+Quote Post
DreamTactix291
post Nov 8 2007, 19:35
Post #22





Group: Members (Donating)
Posts: 552
Joined: 9-June 04
From: A place long since forgotten...
Member No.: 14572



I have been playing around with this and I must say that I am impressed. With TAK 1.0.2 I not only end up smaller files than my WavPack -hhx files with -p5m but the TAK files decode quite a bit faster.

I actually have a few of my CDs encoded as TAK with embedded cuesheets now and will probably have more soon. Thank you for TAK, TBeck smile.gif


--------------------
Nero AAC 1.5.1.0: -q0.45
Go to the top of the page
+Quote Post
foosion
post Nov 9 2007, 01:05
Post #23





Group: FB2K Moderator (Donating)
Posts: 4482
Joined: 24-February 03
Member No.: 5153



I have just uploaded a new version of foo_input_tak for foobar2000 0.9.x (does not require 0.9.5) that adds recognition for the "Insane" profile in TAK 1.0.2 (full change list).

I did some quick testing with the CPU optimization options:
CODE
Encoder: TAK 1.0.2
Profile: normal

Decoder: foo_input_tak 0.3.4 / tak_deco_lib 1.0.5

Decoding test settings (foo_benchmark):
  Buffer entire file into memory: yes
  High priority: yes
  Passes: 3
  
Desktop PC: AMD Athlon XP 2500+ (1.84 GHz)
Laptop PC:  AMD Turion64 MT30 (1.60 GHz)

Results:

Setting  | Desktop PC        | Laptop PC
==========================================
Any      | 134.264x realtime | 126.254x realtime
None     |  91.834x realtime | 104.393x realtime
ASM only |  91.834x realtime | 105.475x realtime
MMX only | 133.722x realtime | 128.006x realtime
SSE only |  91.959x realtime | 105.537x realtime


TBeck: Is SSE support implemented or is that flag only a placeholder?


--------------------
http://foosion.foobar2000.org/ - my components for foobar2000
Go to the top of the page
+Quote Post
jesseg
post Nov 10 2007, 02:00
Post #24





Group: Banned
Posts: 218
Joined: 22-December 02
Member No.: 4194



QUOTE (foosion @ Nov 8 2007, 18:05) *
TBeck: Is SSE support implemented or is that flag only a placeholder?



Wow... MMX is slower than none? What was this compiled with?

[edit]
nevermind, i just answered my own question... Borland Delphi 6 or 7
[/edit]

This post has been edited by jesseg: Nov 10 2007, 02:02
Go to the top of the page
+Quote Post
Spirit_of_the_oc...
post Nov 11 2007, 02:53
Post #25





Group: Members
Posts: 583
Joined: 12-September 06
Member No.: 35092



If there would be more decoders may be there will be more users whowill use tak?
What I really miss is something to play Tak also in Linux systems.

Great work.
Go to the top of the page
+Quote Post

3 Pages V   1 2 3 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 20th December 2014 - 09:12