IPB

Welcome Guest ( Log In | Register )

> Upload forum rules

- No over 30 sec clips of copyrighted music. Cite properly and never more than necessary for the discussion.


- No copyrighted software without permission.


- Click here for complete Hydrogenaudio Terms of Service

50 Pages V  « < 48 49 50  
Closed TopicStart new topic
lossyWAV Development, WAV bit reduction by 2BDecided
rbrito
post Sep 17 2008, 20:56
Post #1226





Group: Members
Posts: 55
Joined: 16-August 05
Member No.: 23948



QUOTE (jido @ Sep 17 2008, 08:20) *
I don't see much point in converting to C or C++ since Pascal is portable too.


Perhaps you didn't notice that the source contains a good deal of ia32 assembly? This makes the program unportable.


Regards, Rogério Brito.
Go to the top of the page
+Quote Post
Nick.C
post Sep 17 2008, 21:04
Post #1227


lossyWAV Developer


Group: Developer
Posts: 1787
Joined: 11-April 07
From: Wherever here is
Member No.: 42400



QUOTE (rbrito @ Sep 17 2008, 20:56) *
Perhaps you didn't notice that the source contains a good deal of ia32 assembly?
I've started work on reducing the amount of assembly. I will release source of 1.1.1e when I have got further with this exercise.

Two routines converted back so far - shift_codec_blocks and fill_fft_input. Approximately a 20% speed penalty though....

[edit] This reduction process is totally reversible by means of a "USEPASONLY" compiler directive - if not defined, all converted routines revert to assembly language. [/edit]

This post has been edited by Nick.C: Sep 17 2008, 21:05


--------------------
lossyWAV -q X -a 4 --feedback 4| FLAC -8 ~= 320kbps
Go to the top of the page
+Quote Post
jido
post Sep 17 2008, 21:19
Post #1228





Group: Members
Posts: 246
Joined: 10-February 04
From: London
Member No.: 11923



QUOTE (rbrito @ Sep 17 2008, 11:56) *
QUOTE (jido @ Sep 17 2008, 08:20) *

I don't see much point in converting to C or C++ since Pascal is portable too.


Perhaps you didn't notice that the source contains a good deal of ia32 assembly? This makes the program unportable.


Regards, Rogério Brito.

May not be portable to other architectures but certainly portable to Linux and MacOS X. Freepascal supports assembly parts.
Go to the top of the page
+Quote Post
SebastianG
post Sep 18 2008, 09:32
Post #1229





Group: Developer
Posts: 1317
Joined: 20-March 04
From: Göttingen (DE)
Member No.: 12875



QUOTE (jido @ Sep 17 2008, 08:20) *
I don't see much point in converting to C or C++ since Pascal is portable too.

It depends on what kind of Pascal you mean and what "portable" means to you. There's an ISO standard for Pascal but it's pretty old and purely procedural (no sign of OO). But yeah, the GNU compiler collection includes a Pascal compiler that supposedly supports Borland's OO-Pascal/Delphi flavour. The programming language choice is also a political/pragmatic question. There're lots of usefull C libraries out there. Also, if you intend to go open source the number of people that can help you fix bugs / add features is of course linked to the programming language. For example: I don't like to touch/write any Pascal code. Attracting developers is more of a problem if you stick with Pascal, I suppose. Note: I'm not suggesting a conversion to C or C++. It's not my place to tell.

QUOTE (rbrito @ Sep 17 2008, 11:56) *
Perhaps you didn't notice that the source contains a good deal of ia32 assembly? This makes the program unportable.

I'd think so too. It smells a bit like premature optimization, to be honest.

QUOTE (jido @ Sep 17 2008, 22:19) *
May not be portable to other architectures but certainly portable to Linux and MacOS X. Freepascal supports assembly parts.

It does. But AFAIK it only supports the AT&T notation and Borland used to use Intel notation. So you'd have to rewrite your ASM parts unless there's a tool around for doing that conversion. I might be wrong, though.

Cheers,
SG
Go to the top of the page
+Quote Post
rbrito
post Sep 19 2008, 01:08
Post #1230





Group: Members
Posts: 55
Joined: 16-August 05
Member No.: 23948



QUOTE (SebastianG @ Sep 18 2008, 05:32) *
QUOTE (jido @ Sep 17 2008, 08:20) *

I don't see much point in converting to C or C++ since Pascal is portable too.

It depends on what kind of Pascal you mean and what "portable" means to you. There's an ISO standard for Pascal but it's pretty old and purely procedural (no sign of OO). But yeah, the GNU compiler collection includes a Pascal compiler that supposedly supports Borland's OO-Pascal/Delphi flavour. The programming language choice is also a political/pragmatic question. There're lots of usefull C libraries out there. Also, if you intend to go open source the number of people that can help you fix bugs / add features is of course linked to the programming language. For example: I don't like to touch/write any Pascal code. Attracting developers is more of a problem if you stick with Pascal, I suppose. Note: I'm not suggesting a conversion to C or C++. It's not my place to tell.


This is one important thing that you raise here.

QUOTE
QUOTE (rbrito @ Sep 17 2008, 11:56) *

Perhaps you didn't notice that the source contains a good deal of ia32 assembly? This makes the program unportable.

I'd think so too. It smells a bit like premature optimization, to be honest.


Agreed 100%. And doing some optimization should be the task of the compiler. Including assembly just messes up the ability of the compiler to use registers at will, in theory, which would mean that it could generate poorer code.

QUOTE
QUOTE (jido @ Sep 17 2008, 22:19) *

May not be portable to other architectures but certainly portable to Linux and MacOS X. Freepascal supports assembly parts.

It does. But AFAIK it only supports the AT&T notation and Borland used to use Intel notation. So you'd have to rewrite your ASM parts unless there's a tool around for doing that conversion. I might be wrong, though.


Not only that, but as I recall from my freshman years (please, don't ask when, it was way, way more than a decade ago smile.gif ), Pascal used a stack call convention which was exactly the opposite from C. I'm sure that I will be corrected here if I'm mistaken.

Besides that, I don't see why a program like this has to be tied to ia32. For instance, I would like it to be useful on amd64, powerpc, ia32, mips, m68k etc. This program is not platform specific. It just does some computations. Nothing more, nothing less.


Regards, Rogério Brito.
Go to the top of the page
+Quote Post
rbrito
post Sep 19 2008, 05:07
Post #1231





Group: Members
Posts: 55
Joined: 16-August 05
Member No.: 23948



QUOTE (Nick.C @ Sep 17 2008, 17:04) *
QUOTE (rbrito @ Sep 17 2008, 20:56) *
Perhaps you didn't notice that the source contains a good deal of ia32 assembly?
I've started work on reducing the amount of assembly. I will release source of 1.1.1e when I have got further with this exercise.

Two routines converted back so far - shift_codec_blocks and fill_fft_input. Approximately a 20% speed penalty though....

[edit] This reduction process is totally reversible by means of a "USEPASONLY" compiler directive - if not defined, all converted routines revert to assembly language. [/edit]


Hi, Nick.

Well, that's actually a good thing. Can you add me as a project admin there? I can start with something that's not a moving target, then. And getting it under a version control system will ease your "Release Management" way of doing things.

Regards, Rogério Brito.
Go to the top of the page
+Quote Post
rbrito
post Sep 19 2008, 05:22
Post #1232





Group: Members
Posts: 55
Joined: 16-August 05
Member No.: 23948



QUOTE (Nick.C @ Sep 17 2008, 04:00) *
If you wish to take over the management of the sourceforge project, let me know and it's yours....


Hi again, Nick.

Just if you want to see a little bit of my work on another project on SourceForge you can have a look at this log of a project. As you can see, I'm mostly the only committer, despite the fact that the project was opened a long time ago. smile.gif

Regarding me being the sole admin of the ;pssywav project, I would prefer if we both collaborated as admins, as I'm not that experienced with digital sound processing as you seem to be. But porting to other architectures will also bring us some issues like arches being "big-endian" or "little-endian" (for instance).

I can deal a bit with the "Release Management" side of things and having things under SVN would help you keep the history of your modifications.


Regards, Rogério Brito.
Go to the top of the page
+Quote Post
gottkaiser
post Jan 6 2009, 15:03
Post #1233





Group: Members
Posts: 171
Joined: 7-January 05
From: Germany
Member No.: 18891



@Nick.C
Any news about the development of lossyWAV?
Go to the top of the page
+Quote Post
Nick.C
post Jan 6 2009, 15:38
Post #1234


lossyWAV Developer


Group: Developer
Posts: 1787
Joined: 11-April 07
From: Wherever here is
Member No.: 42400



The latest development thread (1.2.0) is here.


--------------------
lossyWAV -q X -a 4 --feedback 4| FLAC -8 ~= 320kbps
Go to the top of the page
+Quote Post
gottkaiser
post Jan 7 2009, 19:23
Post #1235





Group: Members
Posts: 171
Joined: 7-January 05
From: Germany
Member No.: 18891



Didn't find that. Thanks Nick.

Could sombody tell me the correct code to transcode to LossyWAV with correction file?

At the moment I'm using foobar200 with following comandlines:
CODE
Encoder: c:\windows\system32\cmd.exe
Extension: lossy.tak
Parameters: /d /c C:\Programme\"Audio Tools"\foobar2000\lossyWAV.exe - --standard --silent --stdout|C:\Programme\"Audio Tools"\foobar2000\Takc.exe -e -p4 -fsl512 -ihs - %d
Format is: lossless or hybrid
Highest BPS mode supported: 24

What do I have to add to get the correction file? It should have the same file name just with the ".lwcdf.tak" extension. I know it has to do with the Command "-C" but I don't get it to work.

thanks in advance.
Go to the top of the page
+Quote Post
halb27
post Feb 7 2009, 09:55
Post #1236





Group: Members
Posts: 2424
Joined: 9-October 05
From: Dormagen, Germany
Member No.: 25015



Here comes lossyWAV v1.1.0 for testing:

Attached File  lossyWAV.zip ( 58.86K ) Number of downloads: 103


This post has been edited by halb27: Feb 7 2009, 09:56
Attached File(s)
Attached File  lossyWAV.zip ( 58.86K ) Number of downloads: 113
 


--------------------
lame3100m -V1 --insane-factor 0.75
Go to the top of the page
+Quote Post
Dynamic
post Feb 10 2009, 18:46
Post #1237





Group: Members
Posts: 796
Joined: 17-September 06
Member No.: 35307



QUOTE (gottkaiser @ Jan 7 2009, 19:23) *
Could sombody tell me the correct code to transcode to LossyWAV with correction file?

At the moment I'm using foobar200 with following comandlines:


Sorry for the lateness of my reply.

I think correction files are incompatible with piping the output of lossyWAV direct to the standard input of an encoder (such as TAK). That's because there are now two output files from lossyWAV and there's no way on the command line to create two instances of TAK to accept two streams of standard input from lossyWAV's two outputs.

The way to do it would be using commandline or batch files and I think you'll need an uncompressed PCM WAV file as input to lossyWAV to generate wav and correction files which you can then compress using takc when complete. You may wish to copy tags across as well using another commandline tool or by means of a separate CUE sheet.

Personally, correction files aren't of great interest to me so I have no specific suggestions.
Go to the top of the page
+Quote Post
Dynamic
post Feb 10 2009, 20:06
Post #1238





Group: Members
Posts: 796
Joined: 17-September 06
Member No.: 35307



QUOTE (Dynamic @ Feb 10 2009, 18:46) *
You may wish to copy tags across as well using another commandline tool or by means of a separate CUE sheet.

Personally, correction files aren't of great interest to me so I have no specific suggestions.


According to the Wiki, CUEtools can compress any lossless file using lossyWAV + correction file.
Go to the top of the page
+Quote Post
Nick.C
post Feb 10 2009, 20:23
Post #1239


lossyWAV Developer


Group: Developer
Posts: 1787
Joined: 11-April 07
From: Wherever here is
Member No.: 42400



QUOTE (Dynamic @ Feb 10 2009, 17:46) *
.... and I think you'll need an uncompressed PCM WAV file as input to lossyWAV to generate wav and correction files which you can then compress....
You can pipe FLAC decompressed output into lossyWAV and create processed and correction output files (just not with --stdout!).


--------------------
lossyWAV -q X -a 4 --feedback 4| FLAC -8 ~= 320kbps
Go to the top of the page
+Quote Post

50 Pages V  « < 48 49 50
Closed 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: 31st July 2014 - 23:01