AVS Forum banner

Status
Not open for further replies.
1 - 14 of 14 Posts

·
Registered
Joined
·
112 Posts
Discussion Starter · #1 ·
I have been futzing with this combination of the WinDVD4 audio decoder and processor and Zoom Player in order to achieve DPL II playback through Zoom. So far, I have managed to get the filters to do old ProLogic playback from a graphedit graph. I used a DIVX AVI with MP3 audio for this test. I connected the output pin of the Mpeg layer 3 decoder filter to the Intervideo Audio Decoder and then connecting the decoder's pin to the Intervideo Audio Processor filter, followed by the audio renderer. Now, if I go to the property sheet for the Processor filter and add the Intervideo EXP DMO expansion effects, followed by selecting 6 channel output, when I play the graph it is now outputting DPL. If I go to the EXP DMO property sheet within the Processor filter when playing, you can see that the once greyed out Expansion button is now turned on automatically, the algorithm button is selected to ProLogic, and the buttons for the various Pro Logic modes are functional and active!!! Additionally, the Intervideo ICE algorithm can be used now as well.


Now for the bad news...


1- The ProLogic 2 selector button is still greyed out. I tried changing all of the WinDVD4 registry settings to activate DPLII like is done from within the program (Expansion=2, Prologic2=2 and 1) in both HKCU and HKLM, but this accomplished nothing. I really have dredged through my registry, and I simply cannot find where the settings for these filters are stored. Of note, all of the properties for the Audio Processor and it's corresponding DMO effects seem to reset to defaults on each ne load of the graph, so maybe any keys that store their settings are not yet present in the registry (kind of like how the Intervideo Audio Decoder filter reverted to two channel only before someone discovered to put a specific key in the registry.)


2- This graph still gives the floating point error when used as a Zoom Player mediagraph. I find this to be very curious, because when I saved the graph as a normal graphedit file and opened this .grf in Zoom, it played fine with all of the filters functional anbd giving prologic output! But when I used xml2zoom and edited the Zoom graph a little to make it a avi.mediagraph, I get the floating point error. Blight, I'll post the graph here and any help would be greatly appreciated!


// Zoom Player DVD Graph conversion of [C:\\Documents and Settings\\Ben\\Desktop\\prologic for zoom.xgr].

LoadFilter({E436EBB5-524F-11CE-9F53-0020AF0BA770},Source File)

LoadFilter({79376820-07D0-11CF-A24D-0020AFD79767},Default DirectSound Device)

LoadFilter({B87BEB7B-8D29-423F-AE4D-6582C10175AC},Video Renderer)

LoadFilter({0BEDA08A-C516-4A44-9141-7B2CF28975EA},InterVideo Audio Processor)

LoadFilter({7E2E0DC1-31FD-11D2-9C21-00104B3801F6},InterVideo Audio Decoder)

LoadFilter({38BE3000-DBF4-11D0-860E-00A024CFEF6D},MPEG Layer 3 Decoder)

LoadFilter({1B544C20-FD0B-11CE-8C63-00AA0044B51E},AVI Splitter)


SetFilterFileName(Source File,)

ConnectPin(Source File,Output,AVI Splitter,input pin)

IndirectConnectPin(AVI Splitter,Stream 00,Video Renderer,VMR Input0)

ConnectPin(AVI Splitter,Stream 01,MPEG Layer 3 Decoder,In)

ConnectPin(MPEG Layer 3 Decoder,Out,InterVideo Audio Decoder,In)

ConnectPin(InterVideo Audio Decoder,Out,InterVideo Audio Processor,XForm IN)

ConnectPin(InterVideo Audio Processor,XForm OUT,Default DirectSound Device,Audio Input pin (rendered))
 

·
Registered
Joined
·
6,227 Posts
Nice one Sherlock... Keep going for all us less knowlegeable ppl
 

·
Registered
Joined
·
644 Posts
In the other thread I asked the Intervideo engineer about support for DPL2 and ICE on Divx files and he said they do not yet support divx but that he would look into adding the audio decoding modes in a future version.


I don't know if you can get around this limitation by using Zoom or not, but it seems that we might have an "out-of-the-box" solution from WinDVD in a future build.


NickB
 

·
Registered
Joined
·
112 Posts
Discussion Starter · #4 ·
Yeah, I saw that thread. That would be nice. There really is no technical issue to work out here. The DPL II algorithm works fine in WinDVD4 now for MP3, which is the AVI soundtrack I've been using in these tests anyway. It's simply a matter of a flag that allows the Expansion to be turned on when an AVI is opened in the program, and not merely when the file ending is a typical audio file. However, I would still like to get this working in Zoom due to it's greater flexibility. Also, I would like to have access to ther various parameters for DPL II, including center width, panorama, etc, that seem to be modifiable from within the EXP DMO property sheet but not from within the WinDVD program (I'm not quite sure why they would set it up like that.)
 

·
Registered
Joined
·
2,539 Posts
Just for reference, I wrote code external to Zoom Player that does the following:
Code:
Code:
fGUID := StrToTGUID('{0BEDA08A-C516-4A44-9141-7B2CF28975EA}');
  fName := 'InterVideo Audio Processor';
  CoCreateInstance(fGUID,nil,CLSCTX_INPROC,IID_IBASEFilter,AudioFilter);
This code loads every filter just fine, but when using it with the cls_id for the InterVideo Audio Processor ... "Invalid floating Point operation".


The code I used is identical to the microsoft supplied samples for creating filters. I have absolutely no idea what's causing this error.


What I have done, is add code that intercept filter crashes (which is what I believe this error to be) and that will pop a dialog notifying you of the crash and try to continue building the graph (which will fail as the pins won't be able to connect, but ZP will be able to close properly).
 

·
Registered
Joined
·
2,539 Posts
My guess is that WinDVD itself isn't even using these filters itself, but rather some internal libraries.


I contacted InterVideo and they were informed of the situation, now we'll have to wait and see if they can come up with a fix.
 

·
Registered
Joined
·
112 Posts
Discussion Starter · #8 ·
Blight,


I believe you are right about this. I used the RegMon program to monitor the actions of the filters, and while the Audio Decoder does exactly what wa expected (queries HKCU\\Intervideo\\Common\\AudioDec) the Audio Processor and the various DMOs do not query or write to any registry entry at all. So there is no point searching for any hidden registry settings, they simply aren't used by these filters. Do you think that the settings for these could have anything to do with the ActiveX controls found in Intervideo/Common/Bin such as IVIAudioModeX.ocx and IVIAudioEffectX.ocx? My other question would be why include directshow filters if the program isn't using them but they are non-functional for stand alone use anyway?
 

·
Registered
Joined
·
888 Posts
I'm not enough of a windows programmer to know, but perhaps there are alternate interfaces to those filters that don't rely on the registery? A definitive test would be to delete the files or replace them with dummies and see if windvd4 still works.
 

·
Registered
Joined
·
2,539 Posts
The DirectShow filters are being forced upon these various companies by Microsoft and OEMs. They probably don't undergo the same strict testing as the actual program.
 

·
Registered
Joined
·
2,539 Posts
Ok, I got a reply from InterVideo. My original message to them was:
Quote:
The high-end users

who actually bought the recent WinDVD 4 with it's DPL II support are

somewhat upset as the DirectShow filters that use this feature are somewhat

broken. The filter doesn't remember it's setting, and when created the

filter will throw an illegal floating point operation.
The reply I got is that the program manager will make sure it's in the 4.1 patch (whenever that is released).
 

·
Registered
Joined
·
1,321 Posts
Hi Blight:

IviAudioProcess.ax 1.01.0014 and iviaudio.ax 4.0.11.215 do not crash anymore so I would like to find out how to use DPL-II and ICE now.


Do you know how to ask IviAudioProcess.ax to load the DMO Wrapper filter called InterVideo EXP DMO (expDMO.dll)? Its DMO GUID is DMOCATEGORY_AUDIO_EFFECT
http://msdn.microsoft.com/library/de...m/dmoguids.asp


We cannot really insert InterVideo EXP DMO directly into GraphEdit. DVDs will be played in GraphEdit after I put InterVideo EXP DMO between InterVideo Audio Processor and Default WaveOut Device.


When we save the graph as XML, GraphEdit assigns the CLSID of DMO Wrapper Filter to InterVideo EXP DMO. That will be confusing other applications because they do not know what is the specific DMO Wrapper filter to be loaded.


Similarly, GraphEdit always changes DVD Navigator to Source 0 so usually we need to correct that by modifying the DVD Graph. If not, we may experience some weird issues such as stuttering.


The best way to use InterVideo EXP DMO is:


Open the Filter Properties of InterVideo Audio Processor and click
InterVideo Container DMO -> InterVideo EXP DMO -> Append -> Close


Open the Filter Properties of InterVideo Audio Processor again. DPL-II and ICE options will be there. All settings will be forgotten after you close GraphEdit or ZoomPlayer, though.
 

·
Registered
Joined
·
2,539 Posts
Unless intervideo allows the filter to actually remember it's own settings, this whole thing is moot.


Maybe someone should nudge the author of that freeware AC3 decoder to support DPL2 output.
 
1 - 14 of 14 Posts
Status
Not open for further replies.
Top