Log in

View Full Version : Opensource GraphEdit project


Pages : 1 2 3 [4] 5 6

RadScorpion
31st August 2008, 13:12
I've had a few hours this weekend so here's a little update... again a not full release since the merit changing feature is not completely implemented.

Changes :
+ added decoder performance testing tool
+ pressing "Enter" in the filters form will create a new instance of a filter
+ added "Locate" button to find filter DLL files quickly
+ added "Unregister" feature to remove filters. (works also for missing DLLs)


Download link (from the webSVN) :
graphstudio.exe (http://dev.monogram.sk/websvn/filedetails.php?repname=graphstudio&path=%2Ftrunk%2Fbin%2Fgraphstudio.exe)

Igor

CiNcH
31st August 2008, 13:50
Thanks again!

+ added "Unregister" feature to remove filters. (works also for missing DLLs)

It would be cool if you added the unregistered filters to a list and allowed for fast reregistration (so do not delete the ax or dll and remember the path...). Could be very usefull IMHO.

RadScorpion
31st August 2008, 13:57
Great idea :) Putting this to my todo list. It could be also cool to remember different versions of the filter - e.g. when developing debug/release or stable/unstable filters. Or when different versions of the filter are used in multiple projects.

clsid
31st August 2008, 14:00
Small bug: I think some path constants are not expanded properly. For example: %systemroot%\system32\mpeg2data.ax

RadScorpion
31st August 2008, 22:51
@clsid: Where did you encounter the problem with path expansion ?

@all:
Okay. So here's the full 0.2.8.0 build.
* added support for ACM codec configuration (via IAMStreamConfig interface)
* added support for stream selection via IAMStreamSelect interface
* added decoder performance testing tool
* pressing "Enter" in the filters form will create a new instance of a filter
* added "Locate" button to find filter DLL files quickly
* added "Unregister" feature to remove filters. (works also for missing DLLs)
* added merit changing functionality
* seeking form now displays current seeking capabilities and supported time formats

Download here : graphstudio.exe (1060 KB) (http://blog.monogram.sk/janos/download/dl-graphstudio.php)

Enjoy,

Igor

rica
1st September 2008, 01:35
igor :thanks:

rt87
1st September 2008, 02:32
RadScorpion :thanks:

buzzqw
1st September 2008, 07:23
:thanks:

another great update, with very interesting fuctions (merit and benchmark)

BHH

clsid
1st September 2008, 13:42
%systemroot%\system32\mpeg2data.ax

Gives problem with 'Locate' button. Says it doesn't exist.
There also is a red exclamation point in front of the filter in the filters list.

I have reregistered the filter, and now it has a proper expanded path.

clsid
1st September 2008, 13:48
Additional merits:
DO_NOT_USE + 1
UNLIKELY + 1
Custom value ?

Maybe also add a 'Manage filters' menu item under Filters? Using Graph->Insert Filter is a bit counter-intuitive for some use cases.

RadScorpion
1st September 2008, 19:18
okey, I'm gonna investigate the path expansion problem. Haven't really noticed anything like that on my home system.
As for the merit values - it is possible to manually enter any desired value both hexadecimal (with 0x prefix) and decimal.
But some more presets won't hurt...

Casimir666
7th September 2008, 15:22
Hello RadScorpion,
First of all thank you very much for you great works, I'm dreaming to find a better tool than GraphEdit for a very long time!

I have seem you added a "Decoder performance" option in latest release, but unfortunately it was unable to recognize "MPC - VideoDecoder" filter. The reason of this problem is the output MediaType. Could you add the following patch in your next release :


Index: src/dsutil.cpp
===================================================================
--- src/dsutil.cpp (revision 74)
+++ src/dsutil.cpp (working copy)
@@ -1221,6 +1221,7 @@
subtype == MEDIASUBTYPE_YUY2 ||
subtype == MEDIASUBTYPE_YUYV ||
subtype == MEDIASUBTYPE_YV12 ||
+ subtype == MEDIASUBTYPE_NV12 ||
subtype == MEDIASUBTYPE_Y211 ||
subtype == MEDIASUBTYPE_Y411 ||
subtype == MEDIASUBTYPE_Y41P ||


Thanks a lot

RadScorpion
8th September 2008, 19:22
Sure. no problem. Thanks for the hint.

alihan1988
16th September 2008, 23:55
:thanks:

RadScorpion
5th October 2008, 12:43
Hello everybody,

another update to the GraphStudio project is available with the following changes:

* added MEDIASUBTYPE_NV12 to the list of uncompressed video subtypes
* added "Insert File Writer" item for output pins delivering MEDIATYPE_Stream (e.g. mux filter output)
* added "MERIT_DO_NOT_USE+1" and "MERIT_UNLIKELY+1" presets into the merit changer form
* %PROGRAMFILES%, %SYSTEMROOT%, %WINDIR% are now properly expanded
* added "Comatible filters" submenu for output pins

Download here : graphstudio.exe (1060 KB) (http://blog.monogram.sk/janos/download/dl-graphstudio.php)

Enjoy,

Igor

CiNcH
7th October 2008, 06:48
* added "Comatible filters" submenu for output pins
That one is great! :thanks:

rica
7th October 2008, 22:02
* added "Compatible filters" submenu for output pins


This feature is really perfect, thanks igor once again :thanks:


_ _ __

sfortier
15th October 2008, 01:14
Hi!
I´m trying to make a filter graph to view ISDB-Tb 1-seg programs with a ISDB-T usb dongle. With dvb-t network provider, tuner, demod, mpeg2 demultiplexer, microsoft tif filter, I can tune the right channel. But ISDB-Tb 1-seg streams use H264 and he-aac V2. The microsoft mpeg2 demultiplexer can´t create a pin for h264 or aac. Using a ininite tee filter, I can use a second demux to do the job.
The arcsoft mpeg demux are the only demuxer to demux the ISDB-Tb 1-seg TS correctly in pull mode (The arcosft demuxer in pull mode recognizes the TS with h264 video and mpeg4 audio, and good playbeack), but in push mode I must create the pin with the correct mediatype and associate with PID.
In push mode, neither microsoft or arcsoft demuxer have h264 and mpeg4 audio to select on pull-down mediatype list when creating a output pin.
What I want:
- A option on graphstudio to use directshow code and create a output pin on demuxers.
or better
- After the demuxer is selected, a option on graphstudio to create that pin.

This can be done?

Thanks.

RadScorpion
16th October 2008, 12:59
I think it could be possible to implement a new property page for the MPEG-2 Demux. One that would also allow the user to create pins with AAC and H.264 types. I'll put it into the todo list.

sfortier
16th October 2008, 22:38
thanks.
:)

RadScorpion
19th October 2008, 21:38
Hmm.. Thinking of this new page I've got an idea - MediaType Editor. GraphStudio could contain a list of named mediatypes. This way you could either create a specific mediatype in an interactive way (also with pregenerated format buffer/sequence header/etc...) or pick an existing mediatype from an existing pin connection and save it for further use. Once the media type has been created it could be either used to create pins for filters like MPEG-2 Demux, or the type could be dumped as a raw buffer into clipboard or a binary file, or it could be exported as a C++ source code that would generate precisely the same mediatype.

Any ideas?

sfortier
21st October 2008, 20:48
That will be great!
The option to save a mediatype of a working pin to use again later is fantastic. Can be implemented?

CiNcH
24th October 2008, 20:20
A cool feature from GraphEdit:

After connecting to the remote graph it is possible to disconnect/delete filters on-the-fly.

mariner
4th November 2008, 07:44
Remote Graph not working.

Greetings RadScorpion. Thanks for the wonderful software.

I am having difficulty getting remote graph to work . It will conect to a remote graph, and playback can be controlled using the play/stop button, but no graph is displayed in graphstudio. What should I do to get it working?

I have tested using both MPC and PowerDVD on XP3.

Appreciate your kind assistance.

RadScorpion
4th November 2008, 08:47
This is a known issue with Platform SDK and Windows Vista or XP. The remote graph functionality has been moved to another DLL. If you register again your System32\quartz.dll with regsvr32 you should be okay again.

mariner
4th November 2008, 11:28
Thanks RadScorpion,. You are brilliant.

Best regards.

sipper
9th November 2008, 12:25
Hi,

This is perfect work!

I've got a question about a small feature.
The WMAudio Decoder DMO, which is the only decoders existing for decodig multichannel WMA pro files, needs a parameter when starting to decode in multichannel.
By default it downmixes to 2 channels.

Information about this issue is found at: http://msdn.microsoft.com/en-us/library/aa390550(VS.85).aspx
I can send you an example file and an example grf file if needed.

Avisynth had fixed this problem (had the same problem there with an older version), see http://forum.doom9.org/showthread.php?t=116044.
But you're GraphStudio application is so much nicer and flexible.

Is it possible to load the filter with this parameter enabled by default? Or enable it as a parameter under the properties?

Thanks for your support.

Cris

RadScorpion
10th November 2008, 10:13
Nice. I'll take a look at it. But unfortunately I have very little time to code hobby projects right now so I can't promise any release dates.

rt87
10th November 2008, 17:33
maybe a bug:
If graphstudio is connecting to a remote graph and remote graph application dies, graphstudio will popup a dialog for waiting rpc server.

sipper
15th November 2008, 13:21
Nice. I'll take a look at it. But unfortunately I have very little time to code hobby projects right now so I can't promise any release dates.

ok, I'm happy you want to put it on your list.
Thanks,
Sipper

sipper
17th November 2008, 10:20
Nice. I'll take a look at it. But unfortunately I have very little time to code hobby projects right now so I can't promise any release dates.


Hi, I've tested the _HIRESOUTPUT with a small Delphi application.
When I connect to the WMADecoder in 2 channel mode, I can connect to your AC3 encoder filter with no problem.

But when I connect the WMADecoder in 6 channel mode, it does not work...
I can visualize it in your GraphStudio. I can send you screenshots (with filter and pin information) if you like.
Is there somekind of setting I have to do to connect to your filter?

Thanks for your support.

Sipper

RadScorpion
17th November 2008, 11:34
I think it may have something to do with 24-bit output of the DMO decoder in HIRESOUTPUT mode. Currently the AC3 encoder only accepts 16-bit.

sipper
18th November 2008, 19:43
maybe a bug:
If graphstudio is connecting to a remote graph and remote graph application dies, graphstudio will popup a dialog for waiting rpc server.


Yep, its 24 bit.
Is it easy and possible for you to let your AC3Encoder accept 24bit audio?

RadScorpion
18th November 2008, 19:59
I think it's not a big problem, but until I make it work you might try to use some audio processor to convert it to 16-bit. I think ffdshow audio processor should do the job fine.

RadScorpion
21st November 2008, 19:05
Hi,

finally I’ve found a few hours to work on the new release of GraphStudio. These are the changes made so far :

* added support for MPEGLAYER3WAVEFORMAT structure
* added support for MPEG1WAVEFORMAT structure
* BITMAPINFOHEADER::biCompression is now also displayed as fourCC string
* added property page for IAMBufferNegotiation interface
* AboutBox MONOGRAM link navigates to home page
* added high resolution output property page for WMA DMO Decoder

Download here : graphstudio.exe (1084 KB)
(http://blog.monogram.sk/janos/download/dl-graphstudio.php)
Enjoy,

Igor

crypto
21st November 2008, 19:31
Hi Igor,

Thank you for the new version. High res output for wma 5.1 works great.

AC3Filter can also convert to PCM16:

Decoding chain:
(PCM24 3/2.1 (5.1) 48000) -> Processor -> (PCM16 3/2.1 (5.1) 48000) -> Dejitter -> (PCM16 3/2.1 (5.1) 48000)

sipper
26th November 2008, 00:31
Hi,

finally I’ve found a few hours to work on the new release of GraphStudio. These are the changes made so far :



Super!

De HiRes option works perfect indeed.

As mentioned before I cannot connect your AC3 encoder directly. But, there is another issue with your AC3 encoder. De channels are not mapped correctly to the output file.
Its a known issue with ffmpeg. Check this URL for some information: http://pytivo.krkeegan.com/rdian06-s-ffmpeg-builds-t468.html
I've used Aften.dll earlier which does not have any problem.

Workaround for now is the use of MatrixMixer filter. I let MatrixMixer output in 16bit and do the right mapping of the channels, which is:

L>L
R>C
C>R
LFE>SR
SL>LFE
SR>SL

I've have converted my first movie with WMA Pro 5.1 audio to a MKV container with AC3 (resulting in a VC-1/AC3 movie). With the speed of just copying the file. Perfect!

clsid
27th November 2008, 17:10
Connect to remote graph is not working for me. Nothing happens when I select the name of the graph. Any idea what could be wrong?

RadScorpion
27th November 2008, 17:21
Sure. This issue has been discussed on the previous page.
Register your system32\quartz.dll again.

Andrey /MAG/
28th November 2008, 07:37
I found that the Decoder Performance tool is very usefull for me. But can it be implemented from command line?

The GraphStudio is the only tool that can determine performance of AVS script with full CPU load. I use Nero Convert filter and Null renderer.
The parameters are: AVS script name, Filter Name, Renderer Name, Number of pass.
How can I to pass these parameters to GraphStudio to get the result? Is it possible or can we get this functionality in near future?

Thanks

RadScorpion
5th December 2008, 19:30
Yes, quite possibly. At the moment I'm trying to make GraphStudio abort neverending render operations and to produce some nice reports (e.g. how long did the rendering operation take and what filters were used). After that a more robust commandline is at the very top of my wishlist.

Emp3r0r
9th December 2008, 02:01
Can this tool show and work with x64 codecs?

LoRd_MuldeR
10th December 2008, 00:01
Can this tool show and work with x64 codecs?

The only available pre-compiled binary of GraphStudio is a 32-Bit executable. So it can't load any 64-Bit filters for obvious reasons.

Unless somebody compiles a 64-Bit executable of GraphStudio, you won't be able to work with 64-Bit codecs. I got no idea if anybody has tried to do that yet...

dalleyg
10th December 2008, 00:07
The only available pre-compiled binary of GraphStudio is a 32-Bit executable. So it can't load any 64-Bit filters for obvious reasons.

Unless somebody compiles a 64-Bit executable of GraphStudio, you won't be able to work with 64-Bit codecs. I got no idea if anybody has tried to do that yet...

If you have Visual Studio, you can compile it to 64-bit by loading the project, then going to Build | Configuration Manager. Pull down the "Active solution platform" in the upper right and pick "<New...>". Select "x64" in the upper combo box and have it copy settings from "Win32". You might have to tweak some of the libraries a little, but it should compile (I got it working a while back, but I don't remember if I had to do more than what I just described).

rica
10th December 2008, 01:53
RadScorpion,
I have to use keyboard to delete an unwanted filter since there is still no Edit/delete option.

Emp3r0r
12th December 2008, 23:28
If you have Visual Studio, you can compile it to 64-bit by loading the project, then going to Build | Configuration Manager. Pull down the "Active solution platform" in the upper right and pick "<New...>". Select "x64" in the upper combo box and have it copy settings from "Win32". You might have to tweak some of the libraries a little, but it should compile (I got it working a while back, but I don't remember if I had to do more than what I just described).I've tried this but with no luck. I'm guessing I need the WinSDK...? Anybody else already compiled this for x64 or know of where I can find a program that can change the merits of installed 64 bit codecs?

clsid
13th December 2008, 00:00
You can do it with RegEdit by manually hexediting the filterdata.

An example. The red numbers are the merit. So always value 5 to 8. The merit is backwards, in the example 00600001.
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{083863F1-70DE-11d0-BD40-00A0C911CE86}\Instance\{DC257063-045F-4BE2-BD5B-E12279C464F0}]
"FriendlyName"="MPC - Mpeg Splitter (Gabest)"
"CLSID"="{DC257063-045F-4BE2-BD5B-E12279C464F0}"
"FilterData"=hex:02,00,00,00,01,00,60,00,02,00,00,00,00,00,00,00,30,70,69,33,\
00,00,00,00,00,00,00,00,05,00,00,00,00,00,00,00,00,00,00,00,30,74,79,33,00,\
00,00,00,90,00,00,00,a0,00,00,00,31,74,79,33,00,00,00,00,90,00,00,00,b0,00,\
00,00,32,74,79,33,00,00,00,00,90,00,00,00,c0,00,00,00,33,74,79,33,00,00,00,\
00,90,00,00,00,d0,00,00,00,34,74,79,33,00,00,00,00,90,00,00,00,e0,00,00,00,\
31,70,69,33,08,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,83,\
eb,36,e4,4f,52,ce,11,9f,53,00,20,af,0b,a7,70,84,eb,36,e4,4f,52,ce,11,9f,53,\
00,20,af,0b,a7,70,22,80,6d,e0,46,db,cf,11,b4,d1,00,80,5f,6c,bb,ea,23,80,6d,\
e0,46,db,cf,11,b4,d1,00,80,5f,6c,bb,ea,42,23,3a,0e,e2,f6,91,4c,bd,ae,87,c7,\
1e,ad,0d,63,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

dalleyg
13th December 2008, 00:30
I've tried this but with no luck. I'm guessing I need the WinSDK...? Anybody else already compiled this for x64 or know of where I can find a program that can change the merits of installed 64 bit codecs?

Yeah, you probably need the Windows (or Platform) SDK. It's a free download from Microsoft.

I like using the DirectShow Filter Manager from softella.com for changing merits and adjusting default options.

Emp3r0r
13th December 2008, 05:11
@clsid: thanks, I'll give this a try

@dalleyg: that filter manager only works for 32bit just like every other filter manager out there

RadScorpion
13th December 2008, 11:23
I think 64-bit support is not a big deal - the next release will appear as both 32 and 64 bit builds.

@rica: perhaps a small button that will appear in the upper-left corner of the filter as you enter its area by your mouse should do the job. Edit->Delete is 2 clicks away. If you select multiple objects there could be a delete item in the right-click menu.