View Full Version : 6.1 DTS > multichannel MP2
Tokafondo
1st March 2002, 02:17
Greetings from Canary Islands.
I tested your BeSweet settings. Thery Are WRONG! if i left out azid settings i only have a 400Kb file from a 1,2 MB one.
Then I use your PUB_ENC settings and it only rendered 60 frames!
I put that in windvd and sounded "GNEEEEEEEEEEEEEEEEEEEEEEEE" and stop
Is there any DRIVER so the S/PDIF output can be handled as a port?
I've seen that there is a encoder.exe newer than the 232kb version around. Can I have it??
I have 2 source codes from some projects i found outthere. they are mpeg2 aac, but i think they also support m2mc. I'm not programmer. Anyone interested in them??
beergod
1st March 2002, 10:41
Tokafondo:
Your commandline for using pub_enc is standard, and I don't find any problem with it. I am doing extensive experiements on pub_enc exploring such things as -y -x -P option. Somehow, my decoder wouldn't regconise -P, and only treat the stream as MPG 2.0
As for streaming MPEG stream in a SPDIF carrier
use pub_dec -w -B xxx yyy
where xxx.mpg is your mpg stream (it has to have the mpg extension, but when you don't include the extension in your commandline), and it will output yyy.iec
and yyy.iec is a wav file.
So, just play yyy.iec and make sure you set the SPDIF out to non-audio data, you should get MPG stream in SPDIF carrier.
Please point us to the MP2 AAC source code .. potentially it can do us good.
DSPguru
1st March 2002, 11:23
@beergod
here's the link (http://forum.doom9.org/attachment.php?s=&postid=92453).
Tokafondo
1st March 2002, 18:40
Greetings from Canary Islands.
I have another source code. It's attached. (At least I tried)
The CT4810 / SB128PCI driver only allows to select analog / digital output, so the line out jack will be used in analog mode to speakers or digital mode to decoder. I don't know how to set it to non-audio data.
There must be some kind of Directshow filter to the S/PDIF output. Directshow decoders like intervideo, fraunhoffer, cyberlink has the option to use the S/PDIF output if they want. There must be something there that thell that filters that a S/PDIF is available.
Hey I downloaded the encoder.zip shown in a previous post. I try to encode, and all I have is "cannot allocate dummy"... What's up?
On another hand, and this is for the programmers, here is a link I found on how to create custom audio data formats to use as directshow filters. I think this could be useful to test MPEG)(Multichannel, because you could pass the stream directly to the s/pdif output of your sound card with no decoding at all (at least that is what I understood).
http://www.microsoft.com/hwdev/tech/audio/Non-PCM.asp
And this is a link on how to set the type of stream that the standard directshow mpeg-2 filter will output. See that MPEG)(Multichannel is supported.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dx8_c/directx_cpp/htm/mpeg2splitterfiltermediatypes.asp
I know that this thread is for ENCONDING, and the links provided are for DECODING. But I am sure this will be useful for testing purposes of M)(M streams. Maybe many of you already knew this, but as I don't know, I am posting them. If you want me to stop doing this, please tell me but remember I'm trying to help from my insignificant knowledge of this.
beergod
1st March 2002, 21:23
use pub_enc to make MPEG2 MC stream into wav files, and then just play the wav file into SPDIF. Your decoder may treat it as PCM if its not data marked.
Note: Data mark SPDIF streams have nothing to do with the content of the stream. AC3, MPG or DTS can be carried on wav files. However, with the exception of DTS, AC3 and MPEG needs the SPDIF stream to be data marked before the decoder will decode it, otherwise, it treats it as a normal PCM stream (which will sound very noisy).
When you play your SVCD with MPEG2 MC ... your DVd player is outputting a data marked SPDIF stream carrying the MPEG stream.
Juhan
2nd March 2002, 17:12
to: beergod
Have you any success with encoder.exe? I tried, it finishes encoding but the output mpg file seems to be useless. I cannot play it on my pc. Programs say that 'format is not supported'. During encoding the program reports that center=0, surround=0, only stereo=2.
What switches do you use with encoder.exe ? The standard switches are not working correctly ('tables' directory is present with correct files).
I haven't tried encoder.exe output with my standalone player. Maybe it works but pub_enc output can be played with pc also.
beergod
2nd March 2002, 17:33
Juhan,
To use encoder, you need to use Besweet 1.2b2 to get the aiff file (using the 1.2b6 will give you bogus aiff file header which in turns misinterpreted by encoder.exe)
I have also found something very interesting.
To get a 5.1 channel AC3 --> MC MPEG2 @ 384kbps is useless because the quality just isn't good enough for me. My DVD player has problems playing a decent MC MPEG2 file @ 448kbps.
I have also done some MC MPEG2 encoding awhile ago which only uses 5-ch instead of 6ch. I mixed the LFe into L and R, and encoded it to 384kbps which is acceptable.
To DSPGuru:
Some of the following simple mod to BeSweet would be appreciated:
1. support 5-ch aiff instead of 6.
2. someway to get the LFE tomixed into all main channels.
Do you have the interface format in which you pass audio data around ?
If the interface is available, then I can write a little utility that can do the proper mixing, and even do PLII encoding.
DSPguru
2nd March 2002, 17:43
Originally posted by beergod
To DSPGuru:
Some of the following simple mod to BeSweet would be appreciated:
1. support 5-ch aiff instead of 6.np.
2. someway to get the LFE tomixed into all main channels.i can do it..
Do you have the interface format in which you pass audio data around ?
If the interface is available, then I can write a little utility that can do the proper mixing, and even do PLII encoding. no problem, give me a dll that accepts a block of samples and return the processed block to a callback function.
the prototype of your function and the callback function should be :
typedef void (*OUTPUT) (float*, unsigned int);
Cokes
2nd March 2002, 19:57
Guys,
we can contact Mike Cheng (mfc@planckenergy.com) with feature request to imply support of 5.1 or 5.0 MC in toolame 0.3.
When I look at dist10 and toolame sources, lot of Mike Cheng's work stand on improving psychoacoustics of original dist10 code.
I mean at last we can ask him, if it would be lot of work, turn back the multichannel features into toolame source.
What you think about?
BTW: http://sourceforge.net/tracker/?atid=369022&group_id=19022&func=browse
Juhan
3rd March 2002, 04:48
I tested ReMPEG, just because of curiosity. I just wanted to see how it handles files which have stopping problem with pub_enc. They all stopped at the same place. I suspect that encoder.exe would stop also because it is based on older source code than pub_enc.
If I find somewhere BeSweet 1.2b2 then I test encoder.exe also.
Juhan
3rd March 2002, 04:51
DSPGuru, maybe you can add BeSweet 1.2b2 into your homepage (or at least give a link). Then I don't have to search different web pages.
DSPguru
3rd March 2002, 05:34
http://dspguru.notrace.dk/BeSweetv1.2b2.zip
DSPguru
3rd March 2002, 15:25
Originally posted by Cokes
Guys,
we can contact Mike Cheng (mfc@planckenergy.com) with feature request to imply support of 5.1 or 5.0 MC in toolame 0.3.is toolame still in development ?
if Mike is willing to add MC support and release toolame under LPGL, i'll make a dll version of toolame, and we'll have 5.1mpeg.
@God
what should be the channels sequence for 5.0 ?
beergod
3rd March 2002, 16:43
@DSPGuru,
Channel sequence is L,R,C,SL,SR
BTW, Can you send me an example of how you would use the interface to pass multichannel data and process them ? A sample DLL, and a C++ code calling it would be good.
I am trying to get myself into writing code.
DSPguru
3rd March 2002, 21:34
@god
i'll make something..
beergod
3rd March 2002, 23:40
Thanks DSPGuru
Juhan
4th March 2002, 14:40
Yep! The same problems with encoder.exe. At least we have source code... (Locking in the same places as ReMPEG and pub_enc).
Using "-v 3" switch (i tried it with pub_enc) shows that encoder stays in loop. We have to find out why it cannot continue. Maybe somebody can modify the source code that it dumps variables into logfile for every encoded frame. Then we can compare variables with source and find out why the loop is not finished. Maybe using force to end loop helps (assuming that audio is encoded correctly - maybe it encodes certain frame all over again, and again and again etc). A simple modification may help (for example: pressing Enter when encoder stops). After that we can listen the output if it is encoded correctly.
beergod
4th March 2002, 23:52
I have successfully encoded an entire movie, and made into 2 SVCDs, and itworks flawlessly on my DVD player (Meridian 596). IT has subtitles, and MPEG 5.0 I mixed LFE into LR so that it takes less bandwidth of the encoder, and make 384kbps listenable. If you compared to the original, it is still a bit poor in terms of quality ... hey, this is what transcoding does to your sound.
Also the factha MPEG MC uses some kind of matrixing for backward compatibality, there are alwasy some dgree of crosstalk ... so it isn't as clean as DD, or DTS. But, it is all psychoacoustically masked.
Currently, I use DVD2SVCD and replace BeSweet.exe with a bat file which does the encoding, and then moved the encoded file to a filename that DVD2SVCd expects.
This has been a long experiment for me, and now it is finally bearing fruit.
Hopefully, someday we can make the encoder better. I use pub_enc, and it is A LOT faster than encoder.exe.
Tokafondo
5th March 2002, 09:52
Greetings from Canary Islands.
I have a question: 384 is the TOTAL bitrate for multichannel output?. I do know nothing about audio encoding comparing to knowloedge of many posters here, but if I make 384 / 6 it results 64 kbps. I've seen in many sites that SVCD supports VBR audio.
Does PUB_ENC or ENCODER have any kind of VBR support??
Is there any way to build the encoder from the scratch following the MPEG)(Multichannel specs, instead of patching the source codes around??
I don't know if my posts are useful or not to the thread, but anyway I'm VERY interested in the whole idea.
beergod
5th March 2002, 10:08
Tokafondo,
384kbps is for all 5 channels. You don't calculate 64kbps by dividing 6. There are a lot of overheads in the steam, and you can set different bit rates for the front LR.
SVCd may support VBR audio, but all surround sound decoders rely on on it being able to stream MPEG on SPDIF .. so , I am not sure if it works this way ... has anyone tried ?
It is possible to build the MPEG enoder from scratch, but you are really asking for trouble. DO you have any idea what sort of skills are required ? It takes a team of audio/programing experts years to build this kind of programs. And you do need the MPEG standard book for it. Patching is still the best way !
No one will make MPEG2 from scratch except MPEG2 AAC nowadays.
Tokafondo
5th March 2002, 10:59
Greetings from Canary Islands.
I think that most of the job is taken in the creation of the standard. If the commitee creates a standard it means that someone has the method of how to get there. MPEG)(Multichannel encoding is done by mathematics formulas, and someone have them. It seems that many companies have those formulas because there are several hardware and software tools to achieve that. If you get them it would be easy to implement them but the most important matter is to do it fast and right.
I attach a MPEG parser that I found. I understand that is provided to check if a M)(M stream is compliant or not. BUT as I always say, I have no idea so it's possible that its purpose could be any other...
I provide links and attachments as I understand they could be useful to someone. If you don't want me to do that, please tell me!!
Some Links...
http://www.dv.co.yu/mpgscript/mpeghdr.htm
http://www.otolith.com/pub/u/howitt/sbc.tutorial.html
http://www.cs.tut.fi/~ypsilon/80545/CodingOfAS.html
Juhan
5th March 2002, 13:39
I don't say that the encoder stops all the time. I just took the parts that stop and tested with them. I just want to find out why encoder stops at some places. It's a pain to encode hours and then encoder stops. Then you try again with modifying audio stream (lowering or raising volume) and encode for hours and then it stops in another place. If you test several days you at last find a way to encode full audio strem successfully. But if we find out how to eliminate stopping problem then we only have to encode once.
Juhan
6th March 2002, 18:40
I tried pub_enc.exe and encoder.exe with "-x 3" (matrix mode 3) switch and all my test clips passed successfully. I even encoded 2 hours of audio successfully (entire movie). I have to try this option with the other movies as well but it seems that the solution is "matrix mode 3". The result sounded good.
Anyone knows what is the difference between matrix mode 1, 2 and 3 ?
DSPGuru! Thank you for adding 5.0 channel AIFF support into BeSweet!
DSPguru
6th March 2002, 19:00
Originally posted by Juhan
DSPGuru! Thank you for adding 5.0 channel AIFF support into BeSweet! enjoy :D !
DSPguru
7th March 2002, 10:31
@god
i've added an extrenal plug-ins support to BeSweet RC3.
see the example code at my webpage.
Cheers,
Dg.
beergod
7th March 2002, 12:23
@DSPGuru,
I have downloaded them, and will look at it.
Thanks.
Knavish
11th March 2002, 01:46
can someone write a mini how-to SVCD with 5.0 ?
and with which program get best results?
what about subwoofer? you lost it totally?
and is it possible to make 5.1 right now?
under linux is it possible doing that: (if you know)
thnx! :pHow to make a multichannel MPEG-2 Audiostream (http://www.stud.uni-siegen.de/sven.koelsch/mpeg2mc/)
DSPguru
11th March 2002, 05:53
read the audio faq, q13.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.