AVS Forum banner

Status
Not open for further replies.
1 - 20 of 58 Posts

·
Registered
Joined
·
2,532 Posts
Discussion Starter #1
Ok, I promised I'll get to it today, and got to it I did.


This new version allows you to manually create your own filtergraphs for use with DVD playback under DirectShow.


What does that mean? ULTIMATE CONTROL!


Basically, you should be able to build any graph allowed by the filter and do other wicked things.


How does it work?


Well, you enable an setting on the DVD Options tab to enable this feature, then you run a text editor and load up zplayer.dvdgraph


This file contains instructions on how to build graphs, and provides a working sample for rendering the Cyberlink PowerDVD graph.


As far as I can tell, this works just fine with the cyberlink filters, I haven't really tried anything else, but if it works in GraphEdit, it should also work in Zoom Player.


Get the new beta here:
http://pisho.net/dvdgenie/zoomplayer220b01.zip


Have fun experimenting.
 

·
Registered
Joined
·
1,321 Posts
Holy cow...

It really rocks.

Thank you very much for your effort.

Maybe Delta 1010 users can control the volume of each channel individually, huh?


Thanks.
 

·
Registered
Joined
·
1,536 Posts
Hi Blight


All sounds really cool and stuff, but i have no idea whatcha talking about :) Could you explain in layman's terms what this is about? I'm very interested, but i just don't have any extensive knowledge of this kind of stuff yet...


Gertjan
 

·
Registered
Joined
·
137 Posts
Great work Blight.


Can the created graphs be shared amongst users providing we have the correct DirectShow filters ?


I mean is the graph dependant on the physical installation directory for each filter or will the ID be enough to find the filter whereever it is ?


If that's the case then maybe we could start building a filter graph database. If people start submitting graphs, we will soon have all possible combinations, for instance Ravisent DS Video decoder with Intervideo Sound decoder.
 

·
Premium Member
Joined
·
5,818 Posts
This is really great. I am guessing this means I dont need Graphedit anymore to render complex graphs for audio/video! Plus, you have additional control of aspect ratio and zooming.


Great job!
 

·
Registered
Joined
·
9,884 Posts
Quote:
What does that mean? ULTIMATE CONTROL!
Yes. This is a good thing here.


Now I just have to figure out how to use it.


- Tom
 

·
Premium Member
Joined
·
5,818 Posts
Tom,


In theory, wouldn't it be possible to convert dscaler deinterlacing algorithms to directshow filters (such as Johnad's "weave" filter used in Hauppauge's WinTV). That way we could watch DVD in Zoom player using Dscaler software deinterlacing. I hope what I'm saying makes sense, Graphedit is still kind of new to me.
 

·
Registered
Joined
·
2,379 Posts
This is a really cool addition. Now we can probably set up filters to handle HDTV. Is there anything similar to DVD Navigator for other kinds of files?
 

·
Premium Member
Joined
·
5,818 Posts
Yes, I am pretty excited about this. I honestly think this IS a landmark archievement in the world of HTPC! I can't wait to see if it is possible to use dscaler deinterlacing on DVD/HDTV playback.
 

·
Banned
Joined
·
1,007 Posts
I agree, this is very cool. Has anyone gotten DTS decoding and the other features of power dvd xp to work yet? I can get DD 5.1 decoding to work with the windvd 3.1 audio filter, but not DTS decoding.


I was just trying to get the DTS audio seven bridges road track on the Eagles DVD to play directly, and I can only access that by using a bookmark. is there anyway to make that easier? like a shortcut on the desktop?
 

·
Premium Member
Joined
·
5,818 Posts
One more thing. If the dscaler team were able to make their other filters directshow compatible, we would be able to add some really cool realtime special effects to DVD. For example, Geforce owners would in theory be able to add software gamma enhancement to DVD playback.


Johnad and Tom what do you think?
 

·
Registered
Joined
·
263 Posts
Blight,


You are a genius!


Would it be difficult to convert graphedit's XML to your format, or just use the XML file ??


Can you add the same feature to media files ?



By the way, I now have transparent backgrounds!!!


camoura
 

·
Registered
Joined
·
1,687 Posts
This is indeed an interesting development. Thanks Blight!


I was playing about with the DirectShow filter earlier and hope to have a version that uses the DScaler deinterlacing plug-ins directly out soon. There are lots of wierd licencing issues that we as a team haven't really got to the bottom of yet but I think it will be OK.


On the other filters, I'll try and add support for those too but I expect the first version won't have them.


John
 

·
Registered
Joined
·
2,532 Posts
Discussion Starter #14
Ok, a few things:


The title should have been 2.20 beta 1, my bad.


You can share the DVDGraph file for a $50 license fee (kidding), as long as the filters are registered, they should be accessible under the same ID on any computer. Different versions of the filters may have different IDs in theory, but in practice, PowerDVD's 3.0 and 4.0 filters seem to use the same ID.


Although, If you're exporting these, I recommend writing the exact version of the filter you used.


The reasons why I didn't add this support for media files:

1. You can add filters using the filters file and it seem to work just fine with automatic rendering.

2. Different media files use different filters, while DVD is a fixed format which always uses the same "sets" of filters.


I could have used the XML format, but I chose to write my own format to torture you all. Basically, it was easier to write my own rather than trying to use Microsoft's format and assuming the structure wasn't going to change any time in the future. With my own format, I know it won't change unless I change it myself.


Here's some help with translation:



translates to ...


LoadFilter({70E102B0-5556-11CE-97C0-00AA0055595A},Video Renderer)


The filter name doesn't have to be the same, you just need to make sure it's the same one you used when connecting the pins on the filters


As for connecting the filters:




translates to ...


ConnectPin(Cyberlink Audio Decoder,Out,Default DirectSound Device,Audio Input pin (rendered))


Again, the filter names are what you define them when you load the filter, but the PIN names (2nd and 4th parameters) must be exactly the same.


I've actually put some error checking code into the graph builder, so if it can't create a filter, or find a pin, or connect a pin, it will throw a message with the offending line number.
 

·
Registered
Joined
·
578 Posts
Blight,


Your killing me. Why is that you always post the good news right when I walk into the door for work? Now I have to wait a full 8 hours before I can get home and play with this new feature :).


Arrgghh, the agony.
 

·
Registered
Joined
·
288 Posts
Hahahah.
 

·
Premium Member
Joined
·
5,818 Posts
Thanks for your feedback John. It would be increadible to use dscaler filters and special effects on DVD playback! I heard that the greedy filter will be available as a directshow filter pretty soon.
 

·
Registered
Joined
·
514 Posts
Blight, the error checking on adding filters seems to work quite well, but I got another error: "'$' is not an integer value" from the file below which I can't understand. Have you got any insight?


BTW, your format barfs if any filter names contains parenthesis, eg Software_CineMaster(TM)_DVD. Temoving the parenthesis solves the problem, but it is a pain to go and rename all instances...I gotta learn that find and replace feature ;)


# Load all our filters into the Graph

LoadFilter({70E102B0-5556-11CE-97C0-00AA0055595A},Video Renderer)

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

LoadFilter({CD8743A1-3736-11D0-9E69-00C04FD7C15B},Overlay Mixer)

//LoadFilter({9BC1B780-85E3-11D2-98D0-0080C84E9C39},Cyberlink Audio Decoder)

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

LoadFilter({6E8D4A20-310C-11D0-B79A-00AA003767A7},Line21 Decoder)

//LoadFilter({9BC1B781-85E3-11D2-98D0-0080C84E9C39},Cyberlink Video/SP Decoder)

LoadFilter({595E37C1-A479-11D1-BC3C-006097B18ABC},Software_CineMaster_DVD}

LoadFilter({9B8C4620-2C1A-11D0-8493-00A02438AD48},DVD Navigator)



# Connect the DVD Navigator Video-Out Pin to the Software_CineMaster_DVD Video-In pin.

ConnectPin(DVD Navigator,Video,Software_CineMaster_DVD,Video IN)


# Connect the DVD Navigator AC3-Out pin (audio) to the InterVideo_Audio_DecoderAudio-in pin.

ConnectPin(DVD Navigator,AC3,InterVideo_Audio_Decoder,In)


# Connect the DVD Navigator SubPicture-Out pin (subtitles) to the Software_CineMaster_DVD SubPicture-In pin.

ConnectPin(DVD Navigator,SubPicture,Software_CineMaster_DVD,SubPicture IN)


# Connect the InterVideo_Audio_Decoder Audio-Out pin to the Default DirectSound Device Audio Renderer

ConnectPin(InterVideo_Audio_Decoder,Out,Default DirectSound Device,Audio Input pin (rendered))


# Connect the Software_CineMaster_DVD decoder to the Overlay Mixer

ConnectPin(Software_CineMaster_DVD,Video OUT,Overlay Mixer,Input0)


# Connect the Software_CineMaster_DVD to the Line21 decoder (closed captions)

ConnectPin(Software_CineMaster_DVD,CC OUT,Line21 Decoder,In)


# Connect the Line21 decoder to the Overlay Mixer

ConnectPin(Line21 Decoder,Out,Overlay Mixer,Input2)


# Connect the Overlay Mixer to the video renderer

ConnectPin(Overlay Mixer,Output,Video Renderer,In)
 

·
Registered
Joined
·
137 Posts
Is the graph working in graphedit ?


I'm trying myself to make something working in graphedit before using it in ZoomPlayer.


I would like to use the new ravisent cineplayer 4.0 video decoder (Ravisent Video decoder DS) but the "video out" pin doesnt want to be connected to anything.


I tried Overlay Mixer input and Video renderer input, graphedit says the pins are not compatible.


Any ideas ?
 

·
Registered
Joined
·
2,532 Posts
Discussion Starter #20
The "$" error could pop if you're missing a digit in one of the FilterID codes... you must make sure the ID structure is flawless.


A note to people thinking about adding a post-decoder filter for DVD playback. Some of these decoders refuse to connect to filters they don't recognise and may limit themselves to connecting to renderers.
 
1 - 20 of 58 Posts
Status
Not open for further replies.
Top