Log in

View Full Version : command-line frontend for WinAmp AAC+ v2 encoder (upd 2006-05-15)


Pages : 1 2 [3]

Kurtnoise
29th January 2008, 21:42
http://kurtnoise.free.fr/index.php?dir=misc/&file=enc_aacPlus_src.zip

tebasuna51
30th January 2008, 01:30
Here is the last shon3i source file with mods added to BeHappy (parameters and selection of mp4 muxer), there are also a bug corrected by me:
enc_aacPlus_last (http://www.savefile.com/files/1348886)

tebasuna51
5th February 2008, 18:25
There are a new enc_aacPlus Home (http://www.codeplex.com/aacPlusCLI) created by Dimzon.

Actually have the last patched shon3i version, because is the working version with BeHappy, but any sugestion are welcome if other syntax is needed.

Kurtnoise
8th October 2009, 14:43
How to create a patch from this website ?


coz I've made an update to support mp4 output from the libmp4v2.dll (http://www.unite-video.com/phpbb/viewtopic.php?p=90100#90100)...

dimzon
8th October 2009, 14:55
How to create a patch from this website ?


coz I've made an update to support mp4 output from the libmp4v2.dll (http://www.unite-video.com/phpbb/viewtopic.php?p=90100#90100)...
1) register on Codeplex: http://www.codeplex.com/
2) send me your codeplex login
3) I will add you to http://aacpluscli.codeplex.com/ developers

Kurtnoise
8th October 2009, 15:14
Oo you're still alive dude ?!!

my Codeplex login : Kurtnoise

:)

dimzon
8th October 2009, 15:18
Oo you're still alive dude ?!!

my Codeplex login : Kurtnoise

:)
added ;)

I'm stilll alife but too busy IRL to support it myself...

Kurtnoise
8th October 2009, 17:25
http://pastebin.com/f3d54f2ec

tebasuna51
9th October 2009, 03:11
Hello, Dimzon!

http://pastebin.com/f3d54f2ec
With:
+ // just to be sure that we have the correct mode
+ for(i=0,dot=NULL;strOutputFileName[i];i++)
+ {
+ if (strOutputFileName[i] == '.')
+ dot = strOutputFileName + i;
+ }
+ if (dot) {
+ switch (*(int*)dot) {
+ case '4pm.': case '4PM.': case '4pM.': case '4Pm.':
+ case 'a4m.': case 'A4M.': case 'a4M.': case 'A4m.':
+ mp4mode = 1;
+ }
+ }
I think the parameter --mp4 don't have sense, the extension controls the mode. For me OK, but we can delete the parameter.

Then, with the libmp4v2.dll, the enc_aacplus.dll make the mp4 container automatically based, I supose, only in the file extension.

If shon3i is reading this please say your opinion about the change. Do you still need the MP4MUX.exe to obtain your mp4 files?

Kurtnoise
9th October 2009, 06:46
I think the parameter --mp4 don't have sense, the extension controls the mode. For me OK, but we can delete the parameter.

I added this to control the output format through megui...that's all. You're free to add it or not.



In addition, if you use Visual Studio 2008 or higher, you can compile a SSE/SSE2 build easily.

shon3i
9th October 2009, 09:23
If shon3i is reading this please say your opinion about the change. Do you still need the MP4MUX.exe to obtain your mp4 files?Since libmp4v2.dll create 100% mp4 compilant files i don't see reason to keep both mp4mux and mp4box. mp4box is anyway huge filesize for this small encoder.

tebasuna51
9th October 2009, 12:55
Since libmp4v2.dll create 100% mp4 compilant files i don't see reason to keep both mp4mux and mp4box. mp4box is anyway huge filesize for this small encoder.
Ok, then I modify BeHappy to use also libmp4v2.dll without
mp4mux and mp4box.

And use the same enc_aacPlus.exe for MeGUI and BeHappy.

I added this to control the output format through megui...that's all. You're free to add it or not.
But MeGUI need the --mp4 parameter?
If we send a filename with extension .mp4, we need the --mp4 parameter? I think is ignored.
If we send a filename with .aac extension and --mp4 parameter, what create enc_aacPlus?

tebasuna51
10th October 2009, 02:08
@Kurtnoise
I think there are a bug in your patch.
This:
@@ -475,23 +476,18 @@
{
const char* codecSection[] = {"audio_aacplus","audio_aac","audio_aacplushigh"};
FILE * tmp = fopen(szTempName,"wt");
- fprintf(tmp, "[%s]\nsamplerate=%i\nchannelmode=%i\nbitrate=%i\nv2enable=1\nbitstream=%i\nsignallingmode=0\nspeech=0\npns=0\n", codecSection[nType] , nSampleRate, nChannelMode, nBitrate, bMPEG4AAC?5:0, bSpeech?1:0, bPNS?1:0);
+ fprintf(tmp, "[audio%s_aac%s]\nsamplerate=%u\nchannelmode=%u\nbitrate=%u\nv2enable=1\nbitstream=%i\nsignallingmode=0\nspeech=0\npns=0\n",
+ mp4mode?"_mp4":"",2==nChannelMode||nBitrate>256000||nSampleRate<32000?"":nBitrate>128000?"plushigh":"plus", nSampleRate, nChannelMode, nBitrate, bMPEG4AAC?5:0, bSpeech?1:0, bPNS?1:0);
fclose(tmp);
- const unsigned int codecFourCC[] = {mmioFOURCC('A','A','C','P'), mmioFOURCC('A','A','C','r'), mmioFOURCC('A','A','C','H')};
- unsigned int outt= codecFourCC[nType];
+ unsigned int outt = 0;
+ if (2==nChannelMode||nBitrate>256000||nSampleRate<32000)
+ outt = mp4mode ? mmioFOURCC('M','4','A',' ') : mmioFOURCC('A','A','C','r');
+ else if (nBitrate>128000)
+ outt = mp4mode ? mmioFOURCC('M','4','A','H') : mmioFOURCC('A','A','C','H');
+ else
+ outt = mp4mode ? mmioFOURCC('M','4','A','+') : mmioFOURCC('A','A','C','P');
encoder=createAudio3(nChannelCount,nSampleRate, nBitsPerSample ,mmioFOURCC('P','C','M',' '),&outt,szTempName);
DeleteFile(szTempName);
...
Make many errors like:
"Can't create encoder!"
Whit this work fine for me:
@@ -475,23 +476,18 @@
{
const char* codecSection[] = {"audio_aacplus","audio_aac","audio_aacplushigh"};
FILE * tmp = fopen(szTempName,"wt");
- fprintf(tmp, "[%s]\nsamplerate=%i\nchannelmode=%i\nbitrate=%i\nv2enable=1\nbitstream=%i\nsignallingmode=0\nspeech=0\npns=0\n", codecSection[nType] , nSampleRate, nChannelMode, nBitrate, bMPEG4AAC?5:0, bSpeech?1:0, bPNS?1:0);
+ fprintf(tmp, "[audio%s_aac%s]\nsamplerate=%u\nchannelmode=%u\nbitrate=%u\nv2enable=1\nbitstream=%i\nsignallingmode=0\nspeech=%i\npns=%i\n",
+ mp4mode?"_mp4":"",1==nType?"":2==nType?"plushigh":"plus", nSampleRate, nChannelMode, nBitrate, bMPEG4AAC?5:0, bSpeech?1:0, bPNS?1:0);
fclose(tmp);
- const unsigned int codecFourCC[] = {mmioFOURCC('A','A','C','P'), mmioFOURCC('A','A','C','r'), mmioFOURCC('A','A','C','H')};
- unsigned int outt= codecFourCC[nType];
+ unsigned int outt = 0;
+ if (1==nType)
+ outt = mp4mode ? mmioFOURCC('M','4','A',' ') : mmioFOURCC('A','A','C','r');
+ else if (2==nType)
+ outt = mp4mode ? mmioFOURCC('M','4','A','H') : mmioFOURCC('A','A','C','H');
+ else
+ outt = mp4mode ? mmioFOURCC('M','4','A','+') : mmioFOURCC('A','A','C','P');
encoder=createAudio3(nChannelCount,nSampleRate, nBitsPerSample ,mmioFOURCC('P','C','M',' '),&outt,szTempName);
DeleteFile(szTempName);
...

tebasuna51
10th October 2009, 03:00
Upload the source code to CodePlex (Change set 34537)
I have only Visual Studio Express 2005

@Kurtnoise, you are now coordinator in the project, if you agree with the source code you can compile it and upload the new release.

Thanks

Kurtnoise
10th October 2009, 17:36
http://aacpluscli.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=34241#ReleaseFiles

Kurtnoise
10th October 2009, 17:36
I think there are a bug in your patch.

because not the same sources...:rolleyes:

tebasuna51
11th October 2009, 00:04
Thanks, I need change BeHappy to use the new release.

tebasuna51
12th October 2009, 11:13
New BeHappy version and full release (http://forum.doom9.org/showthread.php?p=1333836#post1333836) to support the new enc_aacplus

roozhou
15th October 2009, 12:10
Hi Kurtnoise,

Two suggestions:

1) You'd better mention it if you borrow my code.
2) I don't think SSE/SSE2 build would give you any benefit except making it inexecutable on some CPUs (e.g. K7).

Kurtnoise
15th October 2009, 13:00
1) You'd better mention it if you borrow my code.
what do you mean by that ? except output files extension checking, it's not the same code. Maybe it's you that borrowed dimzon code ? I don't see any header license...


2) I don't think SSE/SSE2 build would give you any benefit except making it inexecutable on some CPUs (e.g. K7).
SSE2 build is slightly faster on my machine.

roozhou
15th October 2009, 13:38
what do you mean by that ? except output files extension checking, it's not the same code.

That's it. I added mp4 output and extension checking in July(see logs on sf.net) and you added it in October.

Kurtnoise
15th October 2009, 16:40
Funny that you quote only this part...:rolleyes:

Anyway, I replaced your code now.