Log in

View Full Version : Project announcement : New opensource AAC DirectShow filter, hosted on corecodec.org


Pages : [1] 2 3 4

ChristianHJW
21st May 2003, 00:31
I have the pleasure to announce that a new opensource project was started on corecodec.org today, aiming to offer a free alternative to existing AAC DirectShow decoder filters for educational purposes.

The bigger part of the code was taken from a similar project on http://borgtech.org/aacdec , which by itself is based on the FAAD2 decoder from the FAAC project ( http://sourceforge.net/projects/faac ). All sourcecode is released under the GPL license, just like the original projects.

The developers are aiming to add 5.1 multichannel playback now soon, being the first decoder filter with this capability. As an educational project the project admins have to remind everybody that distribution of compiled binaries of the decoder filter may violate the licensing shedule of the AAC (TM) license holders, depending on the country you are living in, and should not be undertaken by any means. The developers of this project can not be held responsible for such license violations by other people. They strongly advise everybody to compile the decoder filter only for its original intention, that is for educational purposes.

Christian HJ Wiesner
Germany, 20th May 2003

Original message :
https://corecodec.org/forum/forum.php?forum_id=63

avih
21st May 2003, 00:52
just 2 cool ;)

Animaniac
21st May 2003, 03:04
Awesome. ^_^

ChristianHJW
21st May 2003, 06:27
Ahemm, well, i have been a little bit too quick maybe :D !!

Toff hasnt uploaded any sourcecode to the CVS yet, so it was maybe not correct to make a great announcement already, but i was too tired last night to realize this and was almost acting automatically .. LOL. He told me that he first wants to get 5.1 playback working, and would then go upload the sourcecode. Hopefully i can convince him to upload the version he has right now also, or he will maybe have great fun watching me getting nervous :rolleyes: ...

BTW : the released binaries in the 'AAC in matroska' thread is a compilation of this existing source, but the link will be taken down latest by tonight. The filter is still using the borgtech wFormat tag of '0xAAC1', we will very likely change this to either '0x00FF' like 3ivx and Nic's filter are using, or '0xFAAD' as proposed by menno, the author of FAAC/FAAD ;) ....

Animaniac
21st May 2003, 06:40
Originally posted by ChristianHJW


BTW : the released binaries in the 'AAC in matroska' thread is a compilation of this existing source, but the link will be taken down latest by tonight. The filter is still using the borgtech wFormat tag of '0xAAC1', we will very likely change this to either '0x00FF' like 3ivx and Nic's filter are using, or '0xFAAD' as proposed by menno, the author of FAAC/FAAD ;) ....

I think using the tag 3ivx currently uses would be a better idea simply out of consistency. Introuducing a new tag would make things even more confusing, as they were when trying to get the Borg AACDec working. In addition, using the 3ivx tag would, in theory, yeild compatability with their MP4 parser. (Unless of course, this project includes the prospect of a more robust MP4 splitter.) Furthermore, if one tag becomes dominant, there's a good chance it will become the "official" tag. Then again, changing the tag to any official one declared by the powers that be is just a one line change... >.<

ChristianHJW
21st May 2003, 12:21
Ok, Toff uploaded the code to CVS

@Nic : pls. get an account on corecodec.org, you could help us a lot with making it 5.1 capable :) ....

BlackSun
21st May 2003, 12:34
Originally posted by ChristianHJW
Ahemm, well, i have been a little bit too quick maybe :D !!



I think so :eek: :D

DeXT
21st May 2003, 20:48
The first Multichannel, Open Source AAC DirectShow filter is finally born. Toff is the man to blame to, it's called CoreAAC, and it's 100% compatible with the 3ivx splitter. You can use it with MP4 files containing 5.1 audio, and it really works!

Of course, it will work flawlessly with Matroska files containing 5.1 AAC audio... but you'll have to wait a few days to allow Mosu updating his mkvtoolnix with full AAC support. You'll also need the new Matroska splitter in order to get AAC audio working from Matroska files.

Below you'll find a preview release for beta testers, of both AAC DSF and MKV DSF with 5.1 AAC support... to get future releases you'll have to rely on external sites (rarewares, anyone? ;)) as we lack a license for that.

Oh I forgot. You can't put AAC on AVI or OGM, so Matroska is the *only* way to go (besides MP4). So you just start to look at the benefits of Matroska... ;)

http://matroska.sourceforge.net/downloads/mkxds_aac_multichannel_20030521-2.rar

Enjoy it...

Koepi
21st May 2003, 20:55
Why can't you put aac into ogm? Any reason?

Regards
Koepi

DeXT
21st May 2003, 21:11
Well you could put it provided you have a tool for that... but AFAIK currently there's no way to put a standalone AAC file into OGM, stripping the ADTS headers and splitting it into separate frames. This is a complex process that Mosu had to work from scratch for mkvtoolnix and currently the only tool publically available that can do the same is mp4creator (for the MP4 container). Unfortunately only the raw portion of the AAC stream can be muxed inside the containter, and some extra information is needed (AAC profile, sample rate and the like).

The same for AVI. That was the main limitation of Nic's AAC filter: you could not put AAC into AVI/WAV easily, so it was of little use...

In case you manage to put an AAC track inside an OGM stream (or even AVI) it should work with the DSF above, of course. Sorry if I didn't put this clear on my last post..

DeXT

BoNz1
22nd May 2003, 05:57
Originally posted by DeXT
Well you could put it provided you have a tool for that... but AFAIK currently there's no way to put a standalone AAC file into OGM, stripping the ADTS headers and splitting it into separate frames.

You can encode in PysTEL without the adts headers use the -nh switch in the commandline this will give a raw output, nero also has an option for this and faac probably does too, so I guess you could work around that. As for splitting into seperate frames, I guess if you could make the decoder support audio chunks it would work. Then you wouldn't have to split into seperate frames, I guess. So I guess that is what you would have to do to get AAC working in ogm. That is how I understand it anyway. :)

Koepi
22nd May 2003, 06:10
bonz1, dext:

i did some research and found the -nh switch as well (never experimented with aac until now). I guess the problem is that AACMachine doesn't support that switch (yet).

And well, a DSF can always buffer a bit of data ahead so it should be perfectly possible to add an aac to ogm (that's why i put it into oggmux in first place, people asked for it).

So let's stop this unjustified badmouthing (ogm can't cope with it) and single-sided advertisement for unfinished file containers(matroska rules the world). I'm a little disapointed that you're doing that.

I hope this changes in future.

Regards
Koepi

ChristianHJW
22nd May 2003, 07:46
Originally posted by Koepi So let's stop this unjustified badmouthing (ogm can't cope with it) and single-sided advertisement for unfinished file containers ( matroska rules the world ). I'm a little disapointed that you're doing that.
Are you maybe a little bit overreacting koepi ?
I had no idea that OGMmuxer can mux AAC into OGM, simply because i dont use this tool and the OGM container, and i am convinced that is the same for DeXT. A simple message that we wre wrong and OGM does support AAC already would have been fine, instead of reacting like a little kid and talk about 'badmouthing' and 'single sided advertisement', like DeXT being a mean person trying to 'hurt' OGM's reputation ...
I hope this changes in future. Regards Koepi
Thats what i hope also.
Please stop badmouthing matroska as being an 'unfinished container' ! The container IS finished, and the created files are spec compliant. We only have to add chapters and release a working DirectShow filter, but this doesnt make the container 'unfinished' ! With the current working speed we can fully replace all OGM features in latest 4 weeks from now, and then, we just have started .....

Best regards

Christian

[Toff]
22nd May 2003, 10:14
The container war continue again :D
If all this energy was used to improve each one preferred container I think we would have pretty good one now :)
My humble opinion is that by now it's better to works on something open even if it's still less usable ;) (at least in a particuliar OS)

Nic
22nd May 2003, 14:54
@Chris: Im glad you've got this far chris. Well done, your "helluva" project is definitely heading in the right direction :) I think if ive got any free time (after ive finished mpeg2dec3 changes). Ill look at helping fix your DShow filter for matroska.

One step at a time ;)

Cheers,
-Nic

MfA
22nd May 2003, 15:14
As an educational project the project admins have to remind everybody that distribution of compiled binaries of the decoder filter may violate the licensing shedule of the AAC (TM) license holders, depending on the country you are living in, and should not be undertaken by any means.

As someone who can read I must remind you that the knowledge of this fact, and the absence of country limitations to the license, makes the distribution rights granted under the GPL void. You are committing copyright infringement :)

robUx4
22nd May 2003, 19:48
Originally posted by MfA
As someone who can read I must remind you that the knowledge of this fact, and the absence of country limitations to the license, makes the distribution rights granted under the GPL void. You are committing copyright infringement :)

That's covered by the GPL :
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.

MfA
22nd May 2003, 21:19
Indeed, but for that to be relevant I must have overlooked the country limitations menno added to FAAD2 ... where should I look?

ChristianHJW
23rd May 2003, 06:38
I dont remember that either Lame, XviD or FAAC put country limitations in their sources or licenses, so dont expect us to do that MfA .... please !

MfA
23rd May 2003, 14:17
You're wrong about XviD.

Id just prefer that you be truthfull, and warn that this software isnt really GPL whatever the license included says. By acknowledging the patent issues you are already doing this in a way, but in a very roundabout way. Lets be honest about it.

When corporations misuse the GPL in this way they usually do it for nefarious purposes. They pretend software is being released under the GPL, but dont license the patents so they can always have a stick to beat you with if you do something with it they dont like (an example is Lizardtech with the DjVu software). When the open source community starts playing the same charade because they are so eager to use the GPL they legitimize those companies ... which is not something to strive for.

ChristianHJW
23rd May 2003, 18:17
Originally posted by MfA ... which is not something to strive for.

Ok MfA, i do understand your concerns better now. So ... how do we get started here ? How can i find out in what countries Dolby labs have licenses for AAC ? Any help from your side was much appreciated here ....

MfA
23rd May 2003, 18:59
I dont so much take exception with it not being licensed right, there is nothing wrong with non legalese agreements ... what I object to is when people pretend the GPL is fully applicable when it isnt really.

Just add an extra notice in the readme after the warning about patents that despite this being in clear contradiction to clause 7 of the GPL you do allow further distribution of the software, and that you assume the original authors of GPL source used in the project give the same allowances.

It would be nice if authors of the original projects could exclude countries where software patents are valid, but I dont see it happening.

ooops!
23rd May 2003, 23:12
Christian,

Excuse my ignorance, does this mean 6Ch .ac3 in = 6Ch aac out?

Or do you have to create and combine a load of single audio channels first, like you have to do, if you want to create a 6Ch .wma audio file?

ChristianHJW
25th May 2003, 21:32
John33 from the Hydrogenaudio.org board will host binaries now, for your convenience :

http://homepage.ntlworld.com/jfe1205/COREaacDS.zip

ChristianHJW
26th May 2003, 19:09
CoreAAC binary now hosted on

Rarewares !!! (http://rarewares.hydrogenaudio.org)

Thanks so much rjamorim :) !!

rjamorim
29th May 2003, 03:07
Originally posted by ChristianHJW
Thanks so much rjamorim :) !!

Anytime. :)

Griniaris
29th May 2003, 16:02
I tried to use the CoreAAC decoder but I cannot get it to play any AAC file on my pc... I am not so experienced so if you could please help me out a little bit I would appreciate it.
I have downloaded the files and registered the filter correctly.
I then try to open an AAC file but no player can handle it...
Any hints?

PS: When will the 5.1 feature work correctly?

Thanks a lot!

Gaia
29th May 2003, 16:10
Originally posted by Griniaris
I tried to use the CoreAAC decoder but I cannot get it to play any AAC file on my pc... I am not so experienced so if you could please help me out a little bit I would appreciate it.
I have downloaded the files and registered the filter correctly.
I then try to open an AAC file but no player can handle it...
Any hints?

PS: When will the 5.1 feature work correctly?

Thanks a lot!

What OS you have? I doesn't work with Win98 :confused:

Animaniac
29th May 2003, 16:31
This filter doesn't parse raw AAC files they need to be muxed into MP4 (a.k.a M4A) or better yet, Matroska (a.k.a. MKA). 3ivx's Media Splitter filter also needs to be installed for MP4 support.

Using this new build from John33 seems to make WMP9 hang for a while when stopping mid-stream and playing. Pause also seems to be pretty sluggish. Thanks for all the hard work though.

Griniaris
29th May 2003, 16:47
Thanks! I did not know it had be muxed in a container to be playbacked... I was truing to play the audio file alone.
Just for the info I am using WinXP and I hate :angry: WMP9...
BTW, is the 5.1 sound working ok?

Thanks

hulkenstrong
2nd June 2003, 16:18
hmm tried latest coreaacdc from rarewares and plaid a matroksa contaning 5.1 aac and divx 5 video. TCMP whont open the file giving error it cant render it. WMP 6.4/9 plays using Directsound out and says it is a 6ch stream but only 2ch is audible. Would love to get 5.1 aac to work. Does the filter only work in directsound output as I get errors when trying waveout. Dunno if its my soundcards drivers thats messing things up (using KX 3533 with a SB 5.1).

bond
3rd June 2003, 21:29
very important info for Otto-Normal-User:

Originally posted by ChristianHJW
If you dont have a 5.1 setup ( like me ), you will need the great channel downmixer filter from trombettworks (http://trombettworks.com/directshow.php), or you cant hear sound
couldnt be the channel downmix included in CoreAAC!?
would be great and make CoreAAC a perfect aac decoder even for people with non 5.1 setups (which are many i think...)

perhaps you can use source code from valex' ac3filter (http://sourceforge.net/projects/ac3filter)!?

Defiler
3rd June 2003, 22:12
Is there a way to launch the Channel Downmixer configuration panel from the command line?
rundll32 "c:\blah\channeldownmixer.ax",configure
doesn't work as it would for, say, ffdshow.
I tried various other obvious names, like "properties", "setup", "matrix", etc.

Animaniac
3rd June 2003, 22:23
Originally posted by Defiler
Is there a way to launch the Channel Downmixer configuration panel from the command line?
rundll32 "c:\blah\channeldownmixer.ax",configure
doesn't work as it would for, say, ffdshow.
I tried various other obvious names, like "properties", "setup", "matrix", etc.
Just load the filter in GraphEdit.

hulkenstrong
4th June 2003, 15:49
Just wanted to notify´everyone that this filter doesnt work with KX drivers but with Creatives in 5.1. Dam only choise for me is to wait until that gets fixed.

And dam an matroska containing divx5 and 5.1 AAC is cpu demanding on my xp1800+ I have over 90% all the time when playing the movie. Is it normal. Not a to big problem as the xp2500+ is afordable nowdays.

Defiler
4th June 2003, 16:13
Originally posted by Animaniac
Just load the filter in GraphEdit. I'm looking for a way to make a shortcut that will launch the downmix configuration panel, along the lines of the "Configure ffdshow" link in the ffdshow program group.

CaptainCarrot
4th June 2003, 16:35
Originally posted by hulkenstrong
And dam an matroska containing divx5 and 5.1 AAC is cpu demanding on my xp1800+ I have over 90% all the time when playing the movie. Is it normal. Not a to big problem as the xp2500+ is afordable nowdays.
Try fddshow for playback, the DivXNetworks-decoder needs about 2x the cpu-power than fddshow (though the visual quality seems to be better, too). If you go for an anamorphic movie at 720x432 or something like that there's a lot to decode. And the cpu-consumption has in this case nothing to do with matroska or aac, it's just the divx.

[Toff]
4th June 2003, 17:11
Originally posted by hulkenstrong
Just wanted to notify´everyone that this filter doesnt work with KX drivers but with Creatives in 5.1. Dam only choise for me is to wait until that gets fixed.


It works great here and i use the KX drivers also.
I use the version 3528 which is kinda old now, but newer version are not stable on my computer it seems i get some BSOD :(

When you say it doesn't works, what's wrong excatly ?

Also you can try to use a downmixer filter:
http://matrix-mixer.sourceforge.net/
http://www.trombettworks.com/directshow.php

hulkenstrong
4th June 2003, 17:18
on creative i get 5.1 sound (all speaker play and it sounds correct) on kx latest only stereo no rear/center/lfe all quiet. Thats what I did base it on.´You wanna give more info on how you got it to work on KX? Are you using analouge or SPDIF out. What card do you have? What OS are you using? Why use a downmix filter when all i whant is 5.1 out i dont care about stereo for movies.

Can anyone direct me to a place with the latest compiled COREaacDC. Now Im using the one from rarewares.

My info:

OS tested XP SP1 and W2K sp3
Audio driver KX 3533 (only stereo)
Latest official driver for creative SB 5.1 (worked)
Soundblaster Live 5.1

[Toff]
4th June 2003, 18:04
Are you using analouge or SPDIF out? What card do you have? What OS are you using?
I have a sound blaster live on win2k in analogic mode.

Why use a downmix filter when all i whant is 5.1 out i dont care about stereo for movies.
Yes forget about it :)


Can you check that AC3 (or with any other 5.1 source) is ok with the KX drivers ?
Also check in the KXMixer the speaker configuration.
There are several modes.

hulkenstrong
4th June 2003, 18:08
yes ac3 using windvd plays normal,dvd plays normal....seems so weird. And playing the file in foobar2000 gives 5.1 also only not working is the mkv file the one file I whant to get 5.1 aac to work with =).


KX surrounder is set to 5.1 direct path. tested the speaker trough kx everyone sounded right.

Info: the cpu usage is fine untill i seek in the matroska file then it goes upp to 90-100% and stays there.

Does the older kx drivers handle 5.1 directsound streams different?? gonna try 3528 and if it work maybe I should inform the KX team instead.

Tested it. Couldnt use it...i set speakers to 5.1 then it auto upmixed a stereo file to 4.0 couldnt find the option to turn it of. Had to update again to 3533b. Now this is weirder. Foobar2000 plays AAC 5.1 perfet in Directsound mode 6channels and all. But when mixed togheter with divx video into a matroska I can only hear 2 channels but still wmp shows the audio stream as 6 channels.

Bsplayer does the same. Bsplayer says im using COREaacDC 1.1 is it the latest?

[Toff]
4th June 2003, 23:51
I think you should try "Channel Downmixer by Trombettworks" here :
http://www.trombettworks.com/directshow.php

Maybe i do something wrong and this filters will regenerate the output type the good way, so give it a try, and there are some things to configure so you can try different settings.

hulkenstrong
5th June 2003, 19:40
Giving up cant get this 5.1 aac filter to work. Waiting to test agin when filter/audio drivers get updated.

Both the filter and ds out says its 6 channels but still only 2 audible.

bond
6th June 2003, 13:40
1) get latest compile (including latest cvs changes) from here (http://homepage.ntlworld.com/jfe1205/COREaacDS.zip) (thanks to john33)!

2)Originally posted by [Toff]
A small update, some people seems to have problem with <=2 channels playing (big shhhhhhhhh).

The problem should be the same in CoreAAC and the fix is in CVS now.

For the technical things it's :
now <=2 channels output use a WAVEFORMATEX struct
and >2 channels output use a WAVEFORMATEXTENSIBLE struct

EDIT: @bond: maybe it was the original problem you had, as trombettworks downmixer do the same tricks to correct the problem.i guess this means that there shouldnt be the need for trombett anymore (although you wrote <=2 which means stereo or mono i think)?
i tried the latest compile but i get no sound (when i unregister trombett of course)! i tested it with christian's episode2 testfile with 5.1 aac

ChristianHJW
6th June 2003, 14:17
Originally posted by bond 2)i guess this means that there shouldnt be the need for trombett anymore (although you wrote <=2 which means stereo or mono i think)?

nope, this has nothing to do with downmixing, only with Directhow internal means to be able to interface to DirectShow drivers for soundcards ....

bond
6th June 2003, 14:21
thanks :)

hulkenstrong
8th June 2003, 14:51
Now I think I got enough info to say the coreaacdc is the problem to working 5.1 output on my system.

info:

MP4 with 5.1 played in foobar2000/winamp3 with 5.1 output (no video) mplayer2/wmp9/bsplayer 0.8 played it but only stereo output.

MKV with 5.1 played in mplayer2/wmp9/bsplayer 0.8 played it but only stereo output.

MP4 audio only 5.1 created with nero plays in mplayer2/wmp9 in stereo only but in winamp2/3/foobar2000 in 5.1 output.

So the files have working 5.1 AAC in them but somehow the filter doesnt work on my system.
Playing AC3 5.1/DTS 5.1 using windvd 4 works.
playing AAC 5.1 using Winamp2.x/3.x/foobar2000 works.
Playing WAV 5.1 using winamp/foobar2000/mplayer2/wmp9 works.
Playing AC3 5.1 using mplayer2 and AC3filter 0.68b in Directsound output mode works.

(MP4 using 3ivx DS filter and COREaacDC 1.0b3 based on FAAD 1.1.
MKV using Matrsoka DS filter 0.4.2 and COREaacDC 1.0b3 based on FAAD 1.1.)

The files muxed in mkv uses 80-90%cpu usage but in mp4 only 40-50% just some information.

Defiler
8th June 2003, 16:26
Arrgh.. I've been working on getting a proper 5.1 AAC file created all weekend, to no avail. AACMachine keeps crunching for half an hour, generates what looks to be a proper log, and yields a 0-byte AAC file. Nero "finishes" encoding the instant I click "Go", and doesn't create an output file.
This is harder than I thought. Heh.

Atamido
8th June 2003, 17:22
I have the speaker test AC3 converted to 5.1 AAC that someone gave me. I could send it to you if you PM me where to. (673KB)

Defiler
9th June 2003, 15:42
Originally posted by Pamel
I have the speaker test AC3 converted to 5.1 AAC that someone gave me. I could send it to you if you PM me where to. (673KB) Have you had any luck converting longer files than that? Nero chokes, even with the replacement WAV plugin, and once the file gets large enough to need BeSplit, I can't get anything. Hrurrhrrhg.