Log in

View Full Version : Aften 0.0.8 is out


Pages : 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18 19 20 21 22 23

jruggle
29th January 2007, 01:07
Sorry to interrupt that developement-compilation discussion with a noob-like question. ;)
Which revision of Aften & its GUI would you recommend? I should add I won't be using DRC at all. And the 2nd one: which container could handle AC3 VBR + XviD/x264?

Hope I didn't bother too much. ;)
<...and he disappeared into thin air>

cheers,
HDBR77

The first answer is easy. The most recent versions. :) My guess is that AftenGUI 1.3 works with the Aften r278 binary on Kurtnoise's website.

As far as a container format, the only one I can get to work using mpeg4 video and vbr ac-3 is Matroska. I imagine EVO (used in HD-DVD) would work since both h.264 and ac-3 are required codecs. I just don't have a muxer to try it out.

-Justin

DarkAvenger
29th January 2007, 06:28
@Yuvi

I hopefully fixed it. Thanks for your test. If you are able to test again, I'd be happy to get a confirmation.

BigDid
29th January 2007, 17:00
... which container could handle AC3 VBR + XviD/x264?

Hi,

AC3 VBR wil be very difficult to play with common programs and no SAP; better stay with CBR ATM.

AVI handles Xvid and AC3; I often recode Ac3 with DRC; I don't use x264 but I recall reading discussion about MP4 and ac3. If not mistaken it is not compliant but could eventually be done ...

Did

HeadBangeR77
29th January 2007, 20:58
AC3 VBR wil be very difficult to play with common programs and no SAP; better stay with CBR ATM.
Thank for the tip - it's as I feared, unfortunatelly (I want to keep AC3 5.1 from time to time, and thought VBR would spare me some bits in favor of video).

AVI handles Xvid and AC3; I often recode Ac3 with DRC; I don't use x264 but I recall reading discussion about MP4 and ac3. If not mistaken it is not compliant but could eventually be done ...

Did
Yep, in AVIs it's fine, at least with AVI-Mux GUI (no problems with AC3 + XviD or x264) - the same is valid for MKV.

Grüße

BigDid
30th January 2007, 00:01
Thank for the tip - it's as I feared, unfortunatelly (I want to keep AC3 5.1 from time to time, and thought VBR would spare me some bits in favor of video).
Hi,

You can go from 448 to 384 or 384 to 384 (if you want to add DRC) or even try 384 to 320 (it is AC3 compliant) if you prefer to keep 5.1 over quality :D

Yep, in AVIs it's fine, at least with AVI-Mux GUI (no problems with AC3 + XviD or x264)
I do AVI ac3+Xvid with VDmod without problems.

Did

yuvi
30th January 2007, 00:49
@Yuvi

I hopefully fixed it. Thanks for your test. If you are able to test again, I'd be happy to get a confirmation.

It still fails, with the following error:

[ 71%] Building ASM object CMakeFiles/aften_static.dir/libaften/x86/x86_cpu_caps_detect.o
/usr/bin/nasm -f macho -I/Users/yuvi/aften/default -I/Users/yuvi/aften -I/Users/yuvi/aften/libaften -I/Users/yuvi/aften/aften -I/Users/yuvi/aften/libaften/x86 -DHAVE_CONFIG_H -DAFTEN_BUILD_LIBRARY -o CMakeFiles/aften_static.dir/libaften/x86/x86_cpu_caps_detect.o /Users/yuvi/aften/libaften/x86/x86_cpu_caps_detect.nasm
/Users/yuvi/aften/libaften/x86/x86_cpu_caps_detect.nasm:35: panic: invalid section name .txt
make[2]: *** [CMakeFiles/aften_static.dir/libaften/x86/x86_cpu_caps_detect.o] Error 3
make[1]: *** [CMakeFiles/aften_static.dir/all] Error 2
make: *** [all] Error 2

Changing the section name to .text instead of .txt gets it to compile and work with sse3, though I don't know the difference between the two (I think the nasm shipped with Mac OS X has some weird oddities like that.)

I'll test it more thoroughly when I can, for now I'm working on getting Altivec mdct from http://icculus.org/al_osx/ working with Aften.

DarkAvenger
30th January 2007, 06:21
@yuvi

Thanks, I looked into nasm manual and it seems .text is in fact the right name. I changed it now.

wisodev
30th January 2007, 09:15
Which revision of Aften & its GUI would you recommend?
cheers,
HDBR77

You can try my little tool called WAV to AC3 Encoder (http://www.thefrontend.net/EncWAVtoAC3/index.html). It is small, fast, open source and easy to use GUI with built-in Aften library. The WAV to AC3 Encoder is distributed under GPL license. Current release version is 0.1. Today I will release version 0.2 with updated Aften library and new options (you can check svn repository (http://thefrontend.svn.sourceforge.net/viewvc/thefrontend/EncWAVtoAC3/) for current development version).

Thanks,
wisodev

raquete
30th January 2007, 22:14
thanks for the WAV to AC3 Encoder wisodev.
comments...
i encoded "George Harrison-Beware of Darkness" with AftenGUI 1.2(Aften-0.04 2006-Aug-06) and with Wav to AC3 Encoder.
the result from Wav to AC3 Encoder have more bright,is more natural and cristaline.
the Aften version inside Wav to Ac3 Encoder was done for yourself?
thanks so much and congrats! :)

(i can upload the 2 AC3 files if any "abx user" want to hear the differences.)

wisodev
30th January 2007, 22:33
thanks for the WAV to AC3 Encoder wisodev.
comments...
i encoded "George Harrison-Beware of Darkness" with AftenGUI 1.2(Aften-0.04 2006-Aug-06) and with Wav to AC3 Encoder.
the result from Wav to AC3 Encoder have more bright,is more natural and cristaline.
the Aften version inside Wav to Ac3 Encoder was done for yourself?
thanks so much and congrats! :)

(i can upload the 2 AC3 files if any "abx user" want to hear the differences.)

Wav to AC3 Encoder includes Aften from subversion repository (svn) at revision 265 (this is fairly new version) so I think this is the reason why there are quality differences.

jruggle
31st January 2007, 20:28
Version 0.06 of Aften is now available.

http://aften.sourceforge.net

Changes since 0.05:

added SSE/SSE3 mdct code (based on vorbis lancer by blacksword8192@hotmail.com)
added runtime SIMD detection code (Prakash Punnoor)
added CMake build system with shared lib/dll support
optional faster bit allocation by reducing accuracy/quality
replaced MDCT code with implementation from libvorbis
added Dynamic Range Compression encoding w/ profile selection
improved exponent strategy decision
accuracy increase in bit allocation
new longhelp option for detailed commandline info


This release is source-only. Future releases will be the same. There are links on the Aften website to theFrontend and AftenGUI, which have been offering periodic binary releases.

Thanks for all your support!

-Justin

wisodev
31st January 2007, 21:42
This release is source-only. Future releases will be the same. There are links on the Aften website to theFrontend and AftenGUI, which have been offering periodic binary releases.

Thanks for all your support!

-Justin

I have added Aften version 0.06 binaries to win32builds (https://sourceforge.net/projects/win32builds/) project.

Download binaries: aften-0.06-bin.zip (http://prdownloads.sourceforge.net/win32builds/aften-0.06-bin.zip?download) (1 251 818 bytes) | aften-0.06-bin.rar (http://prdownloads.sourceforge.net/win32builds/aften-0.06-bin.rar?download) (456 094 bytes)
Download sources: aften-0.06-src.zip (http://prdownloads.sourceforge.net/win32builds/aften-0.06-src.zip?download) (129 175 bytes) | aften-0.06-src.rar (http://prdownloads.sourceforge.net/win32builds/aften-0.06-src.rar?download) (71 434 bytes)

Latest builds are always available at win32builds homepage (http://win32builds.sourceforge.net/aften/index.html).

Thanks,
wisodev

DarkAvenger
31st January 2007, 22:10
@wisodev

You might want to use a compresser which has support for solid archives. As your dll and exe don't differ that much, space savings would be much higher than by using an archiver which compresses files individually (like zip). tar.bz2 is already 0.8MB instead of 1.2MB, rar with solid and otherwise default is 0.45MB, and p7zip <0.4MB...

wisodev
31st January 2007, 22:25
@wisodev

You might want to use a compresser which has support for solid archives. As your dll and exe don't differ that much, space savings would be much higher than by using an archiver which compresses files individually (like zip). (An tar.bz2 is alread 0.8MB instead of 1.2MB, an rar with solid and otherwise default is 0.45MB, and p7zip <0.4MB...)

I was using .zip archives because they have best support across windows platform.

But you are right and I will add RAR packages.

Edit: changed from 7-Zip to RAR, because some strange things were happening with sf.net FRS.

Atak_Snajpera
1st February 2007, 00:54
Athen 0.06 does not work with BePipe and avs2wav! Old 0.05 version works without problems.

jruggle
1st February 2007, 02:17
Athen 0.06 does not work with BePipe and avs2wav! Old 0.05 version works without problems.
Please give more info or someone else please confirm...and give more info. Also, could someone with Windows test to see if pipes work okay on the commandline? They work just fine for me in Linux. There were a lot of changes to the wav reader, but I also did quite a bit of testing. Unfortunately, my test environment is limited to Linux.

-Justin

tebasuna51
1st February 2007, 04:18
Confirmed, don't work with bepipe:

bepipe --script "WavSource(^6chan.wav^)" | aften.exe - output.ac3
...
Channels=6, BitsPerSample=16, SampleRate=48000Hz
Writing Header...
Writing Data...
0% invalid wav file: -
Done!

Mug Funky
1st February 2007, 04:47
piping doesn't work in foobar either.

it hasn't worked since the DRC build i tested out (i forget which rev that is), but worked with the first 0.05 release.

wisodev
1st February 2007, 05:49
I've done few tests (using version 0.06) on my Windows XP machine:
Using batch sript: test.cmd
@echo off

aften "6_Channel_ID.wav" "6_Channel_ID (org).ac3"

aften - "6_Channel_ID inPipe.ac3" < "6_Channel_ID.wav"

aften "6_Channel_ID.wav" - > "6_Channel_ID outPipe.ac3"

aften - - < "6_Channel_ID.wav" > "6_Channel_ID in_outPipe.ac3"

pause

Here are the results:
Aften: A/52 audio encoder
Version 0.06
(c) 2006-2007 Justin Ruggles, et al.

Signed 16-bit 44100 Hz 6-channel
progress: 100% | q: 486.3 | bw: 39.0 | bitrate: 448.0 kbps

Aften: A/52 audio encoder
Version 0.06
(c) 2006-2007 Justin Ruggles, et al.

Signed 16-bit 44100 Hz 6-channel
progress: 100% | q: 486.3 | bw: 39.0 | bitrate: 448.0 kbps

Aften: A/52 audio encoder
Version 0.06
(c) 2006-2007 Justin Ruggles, et al.

Signed 16-bit 44100 Hz 6-channel
progress: 100% | q: 486.3 | bw: 39.0 | bitrate: 448.0 kbps

Aften: A/52 audio encoder
Version 0.06
(c) 2006-2007 Justin Ruggles, et al.

Signed 16-bit 44100 Hz 6-channel
progress: 100% | q: 486.4 | bw: 39.0 | bitrate: 448.0 kbps


So piping works here.

Input file:
C:\Documents and Settings\wiso\Pulpit\test>wavinfo < 6_Channel_ID.wav

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
File:
Name: [stdin]
File Size: 3089060
Format:
Type: Microsoft PCM
Channels: 6
Sample Rate: 44100 Hz
Avg bytes/sec: 529200
Block Align: 12 bytes
Bit Width: 16
Channel Mask: 0x03F
Data:
Start: 128
Data Size: 3088932
Samples: 257411
Playing Time: 5.84 sec
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

jruggle
1st February 2007, 07:24
Confirmed, don't work with bepipe:

My first guess is that my wav format tolerance is too strict. Try this patch and see if it accepts the input.

Index: aften/wav.c
===================================================================
--- aften/wav.c (revision 296)
+++ aften/wav.c (working copy)
@@ -138,7 +138,7 @@
wf->filepos += 4;
chunksize = read4le(fp);
wf->filepos += 4;
- if(id == 0 || chunksize == 0) return -1;
+ if(id == 0) return -1;
switch(id) {
case FMT__ID:
if(chunksize < 16) return -1;
@@ -154,10 +154,9 @@
wf->filepos += 4;
wf->block_align = read2le(fp);
wf->filepos += 2;
- if(wf->block_align == 0) return -1;
wf->bit_width = read2le(fp);
+ if(wf->bit_width == 0) return -1;
wf->filepos += 2;
- if(wf->bit_width == 0) return -1;
chunksize -= 16;

// WAVE_FORMAT_EXTENSIBLE data
@@ -174,7 +173,8 @@

if(wf->format == WAVE_FORMAT_PCM || wf->format == WAVE_FORMAT_IEEEFLOAT) {
// override block alignment in header for uncompressed pcm
- wf->block_align = MAX(1, ((wf->bit_width + 7) >> 3) * wf->channels);
+ wf->block_align = ((wf->bit_width + 7) >> 3) * wf->channels;
+ if(wf->block_align == 0) return -1;
}
wf->bytes_per_sec = wf->sample_rate * wf->block_align;

@@ -199,6 +199,9 @@
case DATA_ID:
if(!found_fmt) return -1;
wf->data_size = chunksize;
+ if(wf->data_size == 0) {
+ wf->data_size = UINT32_MAX;
+ }
wf->data_start = wf->filepos;
if(wf->seekable && wf->file_size > 0) {
// limit data size to end-of-file

tebasuna51
1st February 2007, 13:17
@jruggle
Not problem with wav header, absolutely standard PCM 16 bit int 48 KHz 6 ch and correct.
ChunkID .....: RIFF
ChunkSize ...: 3840036
Format ......: WAVE
Subchunk1ID .: fmt
Subchunk1Size: 16
AudioFormat .: 1 Integer data.
NumChannels .: 2
SampleRate ..: 48000
ByteRate ....: 192000
BlockAlign ..: 4
BitsPerSample: 16
OffsetData ..: 45
DataLength ..: 3840000
Duration ...: 20 sec., (0h. 0m. 20 s.)

@wisodev
Your test.cmd work here too, but not:
type 2_16ip.wav | aften - output.ac3

Aften: A/52 audio encoder
Version 0.06
(c) 2006-2007 Justin Ruggles, et al.

invalid wav file: -
El proceso ha intentado escribir en una canalización que no existe.
Seems work different with '|' and '>' or '<'
(Windows XP sp1, .NET FrameWork v2.0)

With a wavfix tool (C#):
type 2_16ip.wav | wavfix - output.wav
##################################################################
WavFix v1.0.0.1: Fix or create PCM wav header. (Tebasuna 2006)
##################################################################

With 2_16ip.wav and output.wav bit-identical.

wisodev
1st February 2007, 13:31
@wisodev
Your test.cmd work here too, but not:
type 2_16ip.wav | aften - output.ac3

Aften: A/52 audio encoder
Version 0.06
(c) 2006-2007 Justin Ruggles, et al.

invalid wav file: -
El proceso ha intentado escribir en una canalización que no existe.
Seems work different with '|' and '>' or '<'
(Windows XP sp1, .NET FrameWork v2.0)

With a wavfix tool (C#):
type 2_16ip.wav | wavfix - output.wav
##################################################################
WavFix v1.0.0.1: Fix or create PCM wav header. (Tebasuna 2006)
##################################################################

With 2_16ip.wav and output.wav bit-identical.

Version 0.05 I think didn't set binary mode for input file stream (and output too) as this is standard for *nix OS. Normally in Win32 you set to binary mode input stream and this works with > and <. But 'type' command returns data in text mode so there is a problem. Input is in text mode and Aften reads it as binary data. But I need to test this!

tebasuna51
1st February 2007, 14:19
No problem with 'type' and Aften v0.5
type 2_16ip.wav | aften - output.ac3

Aften: A/52 audio encoder
(c) 2006 Justin Ruggles

Signed 16-bit 48000 Hz stereo
progress: 100% | q: 463.5 | bw: 38.0 | bitrate: 192.0 kbps

wisodev
1st February 2007, 15:33
No problem with 'type' and Aften v0.5
type 2_16ip.wav | aften - output.ac3

Aften: A/52 audio encoder
(c) 2006 Justin Ruggles

Signed 16-bit 48000 Hz stereo
progress: 100% | q: 463.5 | bw: 38.0 | bitrate: 192.0 kbps

I tested this with version 0.05 (using my build and kurtnoise) and there is the same problem with version 0.06.

I'm running Windows XP SP2 with up to date system updates.
$ type 6_Channel_ID.wav | aften - 6_Channel_ID.ac3

Aften: A/52 audio encoder
(c) 2006 Justin Ruggles

invalid wav file: -
Proces próbował zapisu do nieistniejącego potoku.

wisodev
1st February 2007, 15:49
My first guess is that my wav format tolerance is too strict. Try this patch and see if it accepts the input.

Index: aften/wav.c
===================================================================
--- aften/wav.c (revision 296)
+++ aften/wav.c (working copy)
@@ -138,7 +138,7 @@
wf->filepos += 4;
chunksize = read4le(fp);
wf->filepos += 4;
- if(id == 0 || chunksize == 0) return -1;
+ if(id == 0) return -1;
switch(id) {
case FMT__ID:
if(chunksize < 16) return -1;
@@ -154,10 +154,9 @@
wf->filepos += 4;
wf->block_align = read2le(fp);
wf->filepos += 2;
- if(wf->block_align == 0) return -1;
wf->bit_width = read2le(fp);
+ if(wf->bit_width == 0) return -1;
wf->filepos += 2;
- if(wf->bit_width == 0) return -1;
chunksize -= 16;

// WAVE_FORMAT_EXTENSIBLE data
@@ -174,7 +173,8 @@

if(wf->format == WAVE_FORMAT_PCM || wf->format == WAVE_FORMAT_IEEEFLOAT) {
// override block alignment in header for uncompressed pcm
- wf->block_align = MAX(1, ((wf->bit_width + 7) >> 3) * wf->channels);
+ wf->block_align = ((wf->bit_width + 7) >> 3) * wf->channels;
+ if(wf->block_align == 0) return -1;
}
wf->bytes_per_sec = wf->sample_rate * wf->block_align;

@@ -199,6 +199,9 @@
case DATA_ID:
if(!found_fmt) return -1;
wf->data_size = chunksize;
+ if(wf->data_size == 0) {
+ wf->data_size = UINT32_MAX;
+ }
wf->data_start = wf->filepos;
if(wf->seekable && wf->file_size > 0) {
// limit data size to end-of-file


I does not work on my OS with my builds. But the problem is in this function. I think.

jruggle
1st February 2007, 16:54
Version 0.05 I think didn't set binary mode for input file stream (and output too) as this is standard for *nix OS. Normally in Win32 you set to binary mode input stream and this works with > and <. But 'type' command returns data in text mode so there is a problem. Input is in text mode and Aften reads it as binary data. But I need to test this!

If the wav headers are okay, this is much more likely to be the culprit. I have a feeling it happened at r112. Before that, binary mode on stdin was set for __MINGW__ and that changed it to _WIN32 to go with the new build system. Not that the change was wrong...but it might provide some clues.

edit: also, I just committed a change to give more specific error messages for wav header parsing, so you might try that to see if it helps pin-point the problem.

wisodev
1st February 2007, 20:56
If the wav headers are okay, this is much more likely to be the culprit. I have a feeling it happened at r112. Before that, binary mode on stdin was set for __MINGW__ and that changed it to _WIN32 to go with the new build system. Not that the change was wrong...but it might provide some clues.

edit: also, I just committed a change to give more specific error messages for wav header parsing, so you might try that to see if it helps pin-point the problem.

I tested this wav patch:
$ type 6_Channel_ID.wav | aften - 6_Channel_ID.ac3

Aften: A/52 audio encoder
Version 0.06
(c) 2006-2007 Justin Ruggles, et al.

invalid or empty chunk in wav header
invalid wav file: -
Proces próbował zapisu do nieistniejącego potoku.

jruggle
1st February 2007, 23:19
I tested this wav patch:
$ type 6_Channel_ID.wav | aften - 6_Channel_ID.ac3

Aften: A/52 audio encoder
Version 0.06
(c) 2006-2007 Justin Ruggles, et al.

invalid or empty chunk in wav header
invalid wav file: -
Proces próbował zapisu do nieistniejącego potoku.

Getting closer. Try this.
Index: wav.c
===================================================================
--- wav.c (revision 304)
+++ wav.c (working copy)
@@ -147,8 +147,9 @@
wf->filepos += 4;
chunksize = read4le(fp);
wf->filepos += 4;
- if(id == 0 || chunksize == 0) {
- fprintf(stderr, "invalid or empty chunk in wav header\n");
+ if(chunksize == 0) {
+ fprintf(stderr, "empty '%c%c%c%c' chunk in wav header\n",
+ id&0xFF, (id>>8)&0xFF, (id>>16)&0xFF, (id>>24)&0xFF);
return -1;
}
switch(id) {

wisodev
2nd February 2007, 07:19
Getting closer. Try this.
Index: wav.c
===================================================================
--- wav.c (revision 304)
+++ wav.c (working copy)
@@ -147,8 +147,9 @@
wf->filepos += 4;
chunksize = read4le(fp);
wf->filepos += 4;
- if(id == 0 || chunksize == 0) {
- fprintf(stderr, "invalid or empty chunk in wav header\n");
+ if(chunksize == 0) {
+ fprintf(stderr, "empty '%c%c%c%c' chunk in wav header\n",
+ id&0xFF, (id>>8)&0xFF, (id>>16)&0xFF, (id>>24)&0xFF);
return -1;
}
switch(id) {


Results:
$ type 6_Channel_ID.wav | aften - 6_Channel_ID.ac3

Aften: A/52 audio encoder
Version 0.06
(c) 2006-2007 Justin Ruggles, et al.

empty ' ' chunk in wav header
invalid wav file: -
Proces próbował zapisu do nieistniejącego potoku.


:(

jruggle
2nd February 2007, 10:04
Results:
$ type 6_Channel_ID.wav | aften - 6_Channel_ID.ac3

Aften: A/52 audio encoder
Version 0.06
(c) 2006-2007 Justin Ruggles, et al.

empty ' ' chunk in wav header
invalid wav file: -
Proces próbował zapisu do nieistniejącego potoku.


:(


whoa...getting weirder. I just wish I could reproduce the problem myself so I could debug without posting back and forth... So I'll just write down my ideas instead.

1) It's obviously reading something right since it passes the RIFF and WAVE tests.

2) You can disable the error for 0-size chunks and print out the hex code for each chunk instead of characters like my last patch.

3) Another thought is to throw in some checks for EOF. The read4le and read2le functions do not check for EOF. One of the consequence of text mode vs. binary mode is interpreting data characters as control characters...such as EOF. So this is a possible suspect.

-Justin

wisodev
2nd February 2007, 12:14
whoa...getting weirder. I just wish I could reproduce the problem myself so I could debug without posting back and forth... So I'll just write down my ideas instead.

1) It's obviously reading something right since it passes the RIFF and WAVE tests.

2) You can disable the error for 0-size chunks and print out the hex code for each chunk instead of characters like my last patch.

3) Another thought is to throw in some checks for EOF. The read4le and read2le functions do not check for EOF. One of the consequence of text mode vs. binary mode is interpreting data characters as control characters...such as EOF. So this is a possible suspect.

-Justin

I will try later today to debug wav.c using yours ideas.

wisodev
2nd February 2007, 16:39
Uff, the problem was with:

wf->seekable = !fseek(fp, 0, SEEK_END);


So I added simple check:

/* no seeking for pipes under windows os */
#ifdef _WIN32
if(fp != stdin)
wf->seekable = !fseek(fp, 0, SEEK_END);
#else
wf->seekable = !fseek(fp, 0, SEEK_END);
#endif


Now the output is the same as for normal file input.

Patch for svn revision 304:

Index: aften/wav.c
===================================================================
--- aften/wav.c (revision 304)
+++ aften/wav.c (working copy)
@@ -39,6 +39,8 @@
read4le(FILE *fp)
{
uint32_t x;
+ if(feof(fp))
+ return 0;
fread(&x, 4, 1, fp);
return le2me_32(x);
}
@@ -47,6 +49,8 @@
read2le(FILE *fp)
{
uint16_t x;
+ if(feof(fp))
+ return 0;
fread(&x, 2, 1, fp);
return le2me_16(x);
}
@@ -112,7 +116,14 @@

/* attempt to get file size */
wf->file_size = 0;
+
+ /* no seeking support for pipes */
+#ifdef _WIN32
+ if(fp != stdin)
+ wf->seekable = !fseek(fp, 0, SEEK_END);
+#else
wf->seekable = !fseek(fp, 0, SEEK_END);
+#endif
if(wf->seekable) {
// TODO: portable 64-bit ftell
long fs = ftell(fp);
@@ -147,9 +158,10 @@
wf->filepos += 4;
chunksize = read4le(fp);
wf->filepos += 4;
- if(id == 0 || chunksize == 0) {
- fprintf(stderr, "invalid or empty chunk in wav header\n");
- return -1;
+ if(chunksize == 0) {
+ fprintf(stderr, "empty '%08X' chunk in wav header\n",
+ id);
+ return -1;
}
switch(id) {
case FMT__ID:


Justin if you put this patch into repository I will release new binaries package.

Note: added patched binary (exe_org build) for testing.

Thanks,
wisodev

Edit: removed attachment and added binaries to my website, see post #437

Boulder
2nd February 2007, 17:51
Could you add the binary to your website, please? I don't know if the mods come around here to approve the attachments too often.

Kurtnoise
2nd February 2007, 19:31
http://kurtnoise.free.fr/index.php?dir=Aften/&file=aften_rev304%2B.zip

Boulder
2nd February 2007, 19:41
Thanks :)

EDIT: (Are you going to supply a new AftenGUI sometime? When I feed a mono WAV file in it and try to encode at 1.0ch, nothing happens, there's no AC3 file produced.) Just noticed that if the LFE Low-Pass Filter is enabled, it doesn't work. Otherwise no problems.

Atak_Snajpera
2nd February 2007, 20:21
Finally Aften is working again with Bepipe ... Thanks

wisodev
2nd February 2007, 22:45
Could you add the binary to your website, please? I don't know if the mods come around here to approve the attachments too often.

Binaries:
aften-0.06-bin-pipes-patch.rar (http://prdownloads.sourceforge.net/win32builds/aften-0.06-bin-pipes-patch.rar?download)

Sources:
aften-0.06-src-pipes-patch.rar (http://prdownloads.sourceforge.net/win32builds/aften-0.06-src-pipes-patch.rar?download)

jruggle
3rd February 2007, 07:52
Thanks wisodev. I applied the change to svn.

On an unrelated note, the changes DarkAvenger and I have in store should keep Aften SVN in a state of constant change...for a little while at least. :)

-Justin

wisodev
3rd February 2007, 10:04
Thanks wisodev. I applied the change to svn.

On an unrelated note, the changes DarkAvenger and I have in store should keep Aften SVN in a state of constant change...for a little while at least. :)

-Justin

No problem.

I'm subscribed to Aften mailing lists and I'm up to date with Aften current development progress. When I'll see that the current development version is ready to release binaries I will do it.

Thanks,
wisodev

Kurtnoise
3rd February 2007, 10:19
Are you going to supply a new AftenGUI sometime?
Maybe...

When I feed a mono WAV file in it and try to encode at 1.0ch, nothing happens, there's no AC3 file produced.
Does it work directly with the command line ?

Just noticed that if the LFE Low-Pass Filter is enabled, it doesn't work.
I'll check this.

Boulder
3rd February 2007, 10:32
What I meant was that when a mono file is fed and LFE Low-Pass Filter is enabled, nothing happens. I just tried the command line and it says that lfe filter cannot be used as there is no lfe channel (which obviously is true;))

So you probably need a check for that, maybe even grey out incompatible/useless options when a certain channel configuration is selected? Otherwise the GUI has worked just fine :)

wisodev
3rd February 2007, 23:00
I have released version 0.2 of WAV to AC3 Encoder. Now using latest Aften release at version 0.06 by Justin Ruggles.

Program website:
http://www.thefrontend.net/EncWAVtoAC3/index.html

Binary Package (Win32 and Win64):
EncWAVtoAC3-0.2-bin.zip (http://prdownloads.sourceforge.net/thefrontend/EncWAVtoAC3-0.2-bin.zip?download)

Installer Package (Win32 and Win64):
EncWAVtoAC3-0.2-installer.exe (http://prdownloads.sourceforge.net/thefrontend/EncWAVtoAC3-0.2-installer.exe?download)

Source Package (VC++ 2005):
EncWAVtoAC3-0.2-src.zip (http://prdownloads.sourceforge.net/thefrontend/EncWAVtoAC3-0.2-src.zip?download)

Changelog:

Version 0.2:
- added all aften settings
- many GUI improvements
- added presets (load, save, add, delete)
- added output path
- loading last presets from EncWAVtoAC3.cfg file
- added two default presets
- updated to Aften 0.06 sources
- added new icon


Thanks,
wisodev

raquete
4th February 2007, 00:18
- loading last presets from EncWAVtoAC3.cfg file the quality preset back to zero(Auto) after close and open EncWAVtoAC3 again.
edit:no problems,was only needed adjust and save the desired preset!

...and thank you so much for the new version wisodev,
is very cool. :)

wisodev
4th February 2007, 10:19
the quality preset back to zero(Auto) after close and open EncWAVtoAC3 again.
edit:no problems,was only needed adjust and save the desired preset!

...and thank you so much for the new version wisodev,
is very cool. :)

Oh one bug for start is not so bad, I fixed this and added sources to svn repository. I will release binaries later today, when I will finish some new things.

Thanks,
wisodev

wisodev
4th February 2007, 17:38
I have released version 0.3 of WAV to AC3 Encoder.

Program website:
http://www.thefrontend.net/EncWAVtoAC3/index.html

Binary Package (Win32 and Win64):
EncWAVtoAC3-0.3-bin.zip (http://prdownloads.sourceforge.net/thefrontend/EncWAVtoAC3-0.3-bin.zip?download)

Installer Package (Win32 and Win64):
EncWAVtoAC3-0.3-installer.exe (http://prdownloads.sourceforge.net/thefrontend/EncWAVtoAC3-0.3-installer.exe?download)

Source Package (VC++ 2005):
EncWAVtoAC3-0.3-src.zip (http://prdownloads.sourceforge.net/thefrontend/EncWAVtoAC3-0.3-src.zip?download)

Changelog:

Version 0.3:
- added main menu
- added About dialog box
- added Generate bath file to generate command-line batch file
- fixed bitrate/quality slider not restored after reopening program
- added output path label
- removed two presets (done already in 0.2 but not updated Changelog)


Thanks,
wisodev

raquete
4th February 2007, 22:07
today soon version 0.2 was very cool,now the version 0.3 is fantastic.
thank you again wisodev.

HeadBangeR77
6th February 2007, 00:27
@ wisodev
Good job! Thanks very much, mate. :)

Kurtnoise
11th February 2007, 23:38
Small typos in the last CMakeLists.txt ???

Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt (revision 354)
+++ CMakeLists.txt (working copy)
@@ -221,7 +221,7 @@
ADD_LIBRARY(aften_static STATIC ${LIBAFTEN_SRCS})
#SET_TARGET_PROPERTIES(aften_static PROPERTIES OUTPUT_NAME aften)
SET_TARGET_PROPERTIES(aften_static PROPERTIES LINKER_LANGUAGE C)
-SET_PROPERTIES(TARGET aften_static PROPERTIES COMPILE_FLAGS -DAFTEN_BUILD_LIBRARY)
+SET_TARGET_PROPERTIES(aften_static PROPERTIES COMPILE_FLAGS -DAFTEN_BUILD_LIBRARY)
TARGET_LINK_LIBRARIES(aften_static ${LIBM})

# building a static lib to prevent recompilation of wav.c
@@ -232,7 +232,7 @@
SET_TARGET_PROPERTIES(aften_exe PROPERTIES LINKER_LANGUAGE C)
IF(WIN32)
# When linking to static aften, dllimport mustn't be used
- SET_PROPERTIES(TARGET aften_exe PROPERTIES COMPILE_FLAGS -DAFTEN_BUILD_LIBRARY)
+SET_TARGET_PROPERTIES(aften_exe PROPERTIES COMPILE_FLAGS -DAFTEN_BUILD_LIBRARY)
ENDIF(WIN32)
TARGET_LINK_LIBRARIES(aften_exe aften_wav aften_static)

DarkAvenger
12th February 2007, 06:18
Nope, its equivalent (but could depend on cmake version?)

Kurtnoise
12th February 2007, 06:25
Maybe...I used the last cvs version.