IPB

Welcome Guest ( Log In | Register )

15 Pages V  « < 7 8 9 10 11 > »   
Reply to this topicStart new topic
New FLAC encoder
krmathis
post Sep 25 2006, 20:12
Post #201





Group: Members
Posts: 742
Joined: 27-May 02
From: Oslo, Norway
Member No.: 2133



QUOTE (Justin Ruggles @ Sep 25 2006, 20:41) *
QUOTE (krmathis @ Sep 25 2006, 14:26) *

The problem seems to be line #277 in flake-enc/libflake/md5.c
Cause if I change "bswap_16" to "flake_bswap_16" the error message change according to it.

Fixed. I forgot to #include "bswap.h" at the top of md5.c.

-Justin

Success! smile.gif
There is still something wrong, cause the compression rate really sucks.
Flake: "ratio: 0.973 | bitrate: 1372.5 kbps | bytes: 40801624 "
FLAC 1.1.2: "22381217 bytes, ratio=0.534"

Same big/little-endian problem as we had earlier maybe?


Edit: Saw you reply after posting this one.
1. Using revision 67
2. The resulting FLAC file is just noice.

This post has been edited by krmathis: Sep 25 2006, 20:16
Go to the top of the page
+Quote Post
Justin Ruggles
post Sep 25 2006, 20:42
Post #202





Group: Developer
Posts: 165
Joined: 3-June 06
From: Raleigh, NC
Member No.: 31393



QUOTE (krmathis @ Sep 25 2006, 15:12) *
Same big/little-endian problem as we had earlier maybe?

Edit: Saw you reply after posting this one.
1. Using revision 67
2. The resulting FLAC file is just noice.

Yes indeed. It should be fixed now in r69.
Go to the top of the page
+Quote Post
krmathis
post Sep 25 2006, 22:00
Post #203





Group: Members
Posts: 742
Joined: 27-May 02
From: Oslo, Norway
Member No.: 2133



QUOTE (Justin Ruggles @ Sep 25 2006, 21:42) *
QUOTE (krmathis @ Sep 25 2006, 15:12) *

Same big/little-endian problem as we had earlier maybe?

Edit: Saw you reply after posting this one.
1. Using revision 67
2. The resulting FLAC file is just noice.

Yes indeed. It should be fixed now in r69.

Sadly it is not.
Revision 69 still output garbled data at a compression ratio of 0.973 (I removed all source traces and pulled a fresh one).

Thanks a lot!
Go to the top of the page
+Quote Post
Justin Ruggles
post Sep 25 2006, 23:41
Post #204





Group: Developer
Posts: 165
Joined: 3-June 06
From: Raleigh, NC
Member No.: 31393



QUOTE (krmathis @ Sep 25 2006, 17:00) *
QUOTE (Justin Ruggles @ Sep 25 2006, 21:42) *

QUOTE (krmathis @ Sep 25 2006, 15:12) *

Same big/little-endian problem as we had earlier maybe?

Edit: Saw you reply after posting this one.
1. Using revision 67
2. The resulting FLAC file is just noice.

Yes indeed. It should be fixed now in r69.

Sadly it is not.
Revision 69 still output garbled data at a compression ratio of 0.973 (I removed all source traces and pulled a fresh one).

Thanks a lot!

Very odd. I can't figure it out. Try hand-editing config.h and remove the line with #define WORDS_BIGENDIAN 1. And/or put a printf line right before the call to bswap_16 in wav.c. Those won't fix anything, but might rule out some things.

[edit]changed the instructions slightly

[edit2] btw...i should have sourceforge compile farm access in the next 24-hrs. that way i can test on other platforms.

This post has been edited by Justin Ruggles: Sep 26 2006, 00:28
Go to the top of the page
+Quote Post
Justin Ruggles
post Sep 26 2006, 07:08
Post #205





Group: Developer
Posts: 165
Joined: 3-June 06
From: Raleigh, NC
Member No.: 31393



As usual the fix was too simple for me to notice right away...just a spelling error. *sigh* I have fixed the problem and tested on a ppc (yay for compile farm). Thanks for finding the problem so that I could fix it.

-Justin
Go to the top of the page
+Quote Post
krmathis
post Sep 26 2006, 15:41
Post #206





Group: Members
Posts: 742
Joined: 27-May 02
From: Oslo, Norway
Member No.: 2133



QUOTE (Justin Ruggles @ Sep 26 2006, 08:08) *
As usual the fix was too simple for me to notice right away...just a spelling error. *sigh*
You certainly nailed it! smile.gif

Flake rev69: ratio: 0.973 | bitrate: 1372.5 kbps | bytes: 40801624
Flake rev77: ratio: 0.527 | bitrate: 743.6 kbps | bytes: 22107579
FLAC 1.1.2: 22381217 bytes, ratio=0.534

QUOTE
Thanks for finding the problem so that I could fix it.
No problem!
..and thank you for fixing the bugs I have found.

** now on to testing this "beast" **
Go to the top of the page
+Quote Post
plinej
post Oct 2 2006, 04:46
Post #207





Group: Members
Posts: 1
Joined: 2-October 06
Member No.: 35853



I just found this thread today and have skimmed thru it. I was happy to see that flac is being put into ffmpeg. I just compiled the latest ffmpeg source from svn to test this out. It seemed to encode fine but playing back the file with xmms does not display the length of the track and will not let you skip ahead. My flac and flake encoded files work fine in xmms though. I just wanted to see if that was a known problem or maybe I encoded wrong. I just used the example posted in this thread:

ffmpeg -i test.wav test.flac
Go to the top of the page
+Quote Post
xmixahlx
post Oct 2 2006, 06:05
Post #208





Group: Members
Posts: 1394
Joined: 20-December 01
From: seattle
Member No.: 693



i packaged a svn snapshot for debian

available at the usual place


later


--------------------
RareWares/Debian :: http://www.rarewares.org/debian.html
Go to the top of the page
+Quote Post
Mangix
post Oct 2 2006, 06:22
Post #209





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



i got a question about the code being used in flake. when i tried to compile flake with Microsoft Visual C++, i noticed that flake uses data types such as int32_7 and uint63_t. i also read on the wikipedia about inttypes.h and found out that they have equivalents which are built in the C++ language itself.

so my question is, are there any main diffrences between, let's say, "int32_t" and "long"?

edit: reason that i'm asking is because the Platform SDK does not give an inttypes.h file.

This post has been edited by Mangix: Oct 2 2006, 06:23
Go to the top of the page
+Quote Post
Justin Ruggles
post Oct 2 2006, 07:13
Post #210





Group: Developer
Posts: 165
Joined: 3-June 06
From: Raleigh, NC
Member No.: 31393



QUOTE (Mangix @ Oct 2 2006, 01:22) *
i got a question about the code being used in flake. when i tried to compile flake with Microsoft Visual C++, i noticed that flake uses data types such as int32_7 and uint63_t. i also read on the wikipedia about inttypes.h and found out that they have equivalents which are built in the C++ language itself.

so my question is, are there any main diffrences between, let's say, "int32_t" and "long"?

edit: reason that i'm asking is because the Platform SDK does not give an inttypes.h file.

The main difference has to do with 64-bit platforms. Rather than explain it, maybe a snippet from glibc's stdint.h (which is included by inttypes.h) would help. inttypes.h is part of the ISO C99 standard, which is the baseline standard used in Flake.

CODE
#ifndef __int8_t_defined
# define __int8_t_defined
typedef signed char        int8_t;
typedef short int        int16_t;
typedef int            int32_t;
# if __WORDSIZE == 64
typedef long int        int64_t;
# else
__extension__
typedef long long int        int64_t;
# endif
#endif

/* Unsigned.  */
typedef unsigned char        uint8_t;
typedef unsigned short int    uint16_t;
#ifndef __uint32_t_defined
typedef unsigned int        uint32_t;
# define __uint32_t_defined
#endif
#if __WORDSIZE == 64
typedef unsigned long int    uint64_t;
#else
__extension__
typedef unsigned long long int    uint64_t;
#endif


For MSVC, you can try adding this bit of code somewhere. I will add it myself in the near future...I've been meaning to, but just keep putting it off.
CODE
#if defined(_WIN32) && defined(_MSC_VER)
typedef __int8 int8_t;
typedef unsigned __int8 uint8_t;
typedef __int16 int16_t;
typedef unsigned __int16 uint16_t;
typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;
typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;
#endif


If you need me to explain more I can.
-Justin

edit: added the msvc stuff

This post has been edited by Justin Ruggles: Oct 2 2006, 07:20
Go to the top of the page
+Quote Post
Mangix
post Oct 2 2006, 08:01
Post #211





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



from looking at the code, i can only guess that on 32-bit platforms, int64_t and uint64_t must be defined diffrently in order to work.

also thanks for that piece of code that you put there. helps a lot. i'm don't have much experiance in c++ so that code helps.
Go to the top of the page
+Quote Post
wisodev
post Oct 2 2006, 18:04
Post #212





Group: Developer
Posts: 123
Joined: 31-January 06
Member No.: 27439



I have builded latest Flake (Win32) from SVN revision 95:

Download from my Website

or use direct links:

Download binarys:
flake-svn-r95-win32-bin.zip

Download sources:
flake-svn-r95-win32-src.zip

wisodev


--------------------
http://code.google.com/p/wavtoac3encoder/
Go to the top of the page
+Quote Post
MedO
post Oct 2 2006, 18:14
Post #213





Group: Members
Posts: 341
Joined: 24-August 05
Member No.: 24095



Thanks wisodev!
What are the general changes from r48?
Go to the top of the page
+Quote Post
wisodev
post Oct 2 2006, 18:33
Post #214





Group: Developer
Posts: 123
Joined: 31-January 06
Member No.: 27439



QUOTE (MedO @ Oct 2 2006, 19:14) *
What are the general changes from r48?


Well Flake is in constant development so I decided to build fresh binary from latest SVN sources. General changes (in current SVN version) are listed in Flake Changelog file included in src archive.


--------------------
http://code.google.com/p/wavtoac3encoder/
Go to the top of the page
+Quote Post
Mangix
post Oct 2 2006, 23:45
Post #215





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



wisodev: which compiler do you use? MinGW?
Go to the top of the page
+Quote Post
MedO
post Oct 3 2006, 00:05
Post #216





Group: Members
Posts: 341
Joined: 24-August 05
Member No.: 24095



QUOTE (Mangix @ Oct 3 2006, 00:45) *
wisodev: which compiler do you use? MinGW?


QUOTE
I am using Intel C++ compile at version 8.0.40 and C99 switch (this is req.)


But Flake compiles fine with MinGW. I just tried it and, after getting gcc 4.1 to run, it's just as fast as wisodev's build for me.
Go to the top of the page
+Quote Post
Mangix
post Oct 3 2006, 00:12
Post #217





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



i tried out one of wisodev's builds and his seem to be a few seconds faster at mode -12 for me. the other executable that i tested was one compiled by me.
Go to the top of the page
+Quote Post
MedO
post Oct 3 2006, 00:21
Post #218





Group: Members
Posts: 341
Joined: 24-August 05
Member No.: 24095



QUOTE (Mangix @ Oct 3 2006, 01:12) *
i tried out one of wisodev's builds and his seem to be a few seconds faster at mode -12 for me. the other executable that i tested was one compiled by me.


Here's my build:
Flake r100 mingw-build

Only the "naked" binary, though.

Compiler Flags: -s -O3 -fexpensive-optimizations -march=i686
Compiler Version: gcc 4.1.1

This post has been edited by MedO: Oct 3 2006, 10:00
Go to the top of the page
+Quote Post
Mangix
post Oct 3 2006, 00:54
Post #219





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



bah. now i can't get rev95 to work. it keeps saying "error parsing filenames" when i try to encode it.

"flake -12 C:\test\spirit.wav C:\test\spirit.flac" is the command line that i use.

edit: interesting. now i don't need to even specify an output file. pretty interesting...

This post has been edited by Mangix: Oct 3 2006, 00:55
Go to the top of the page
+Quote Post
Justin Ruggles
post Oct 3 2006, 01:02
Post #220





Group: Developer
Posts: 165
Joined: 3-June 06
From: Raleigh, NC
Member No.: 31393



QUOTE (MedO @ Oct 2 2006, 19:05) *
But Flake compiles fine with MinGW. I just tried it and, after getting gcc 4.1 to run, it's just as fast as wisodev's build for me.

I have not done any gcc4 testing, much less under MinGW. Were there any compile issues that I may need to solve or did everything build smoothly? Since the build system is hand-made, not autotools, I've been trying to put it through more tests.

Thanks,
Justin
Go to the top of the page
+Quote Post
Mangix
post Oct 3 2006, 01:05
Post #221





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



i just did a short test with 3 encoders. the first was my own compiled one, the second was MedO's one, and the third was wisodev's compiler.

the results sucked because my compile took the longest to encode while MedO's compile took 61 seconds and wisodev's took 64 seconds. mine took 65.
Go to the top of the page
+Quote Post
Justin Ruggles
post Oct 3 2006, 01:07
Post #222





Group: Developer
Posts: 165
Joined: 3-June 06
From: Raleigh, NC
Member No.: 31393



QUOTE (Mangix @ Oct 2 2006, 19:54) *
bah. now i can't get rev95 to work. it keeps saying "error parsing filenames" when i try to encode it.

"flake -12 C:\test\spirit.wav C:\test\spirit.flac" is the command line that i use.

edit: interesting. now i don't need to even specify an output file. pretty interesting...

Correct. Now you don't have to specify the output if you want the same base name, but if you want a specific output file, you have to now use "-o output.flac". The order method switch was changed to "-m". I'm working on a new option system right now though, so things may change again before the next full release. I hope to add multiple file input as well. Everything will be documented better for the release...the current svn version is undergoing pretty constant changes.

edit: typo
edit2: another typo...

This post has been edited by Justin Ruggles: Oct 3 2006, 01:27
Go to the top of the page
+Quote Post
Mangix
post Oct 3 2006, 02:46
Post #223





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



heh. i just tried out rev95 again with foobar2000's Converter and the thing blew up on me. the command line that i used was "-12 - -o %d" and when i tried it, when it finished the first or second tracked, foobar2000 gave an error saying "Error flushing file". and also, the output file was "filename.flac=". i am not even sure why there was an = at the end.

edit: why the hell do i always mix up line with like...

This post has been edited by Mangix: Oct 3 2006, 02:46
Go to the top of the page
+Quote Post
Justin Ruggles
post Oct 3 2006, 03:19
Post #224





Group: Developer
Posts: 165
Joined: 3-June 06
From: Raleigh, NC
Member No.: 31393



QUOTE (Mangix @ Oct 2 2006, 21:46) *
heh. i just tried out rev95 again with foobar2000's Converter and the thing blew up on me. the command line that i used was "-12 - -o %d" and when i tried it, when it finished the first or second tracked, foobar2000 gave an error saying "Error flushing file". and also, the output file was "filename.flac=". i am not even sure why there was an = at the end.

edit: why the hell do i always mix up line with like...

I think it was a bug in my code. Try rev96.

edit: a little explaining. I had forgotten that you have to include the trailing '\0' in the character count for strncpy.

This post has been edited by Justin Ruggles: Oct 3 2006, 03:55
Go to the top of the page
+Quote Post
Mangix
post Oct 3 2006, 04:01
Post #225





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



yep. looks like it's fixed. thank you smile.gif
Go to the top of the page
+Quote Post

15 Pages V  « < 7 8 9 10 11 > » 
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: 3rd September 2014 - 01:25