View Full Version : ffdshow tryouts project: Discussion & Development
Reino
5th December 2011, 10:14
I think this, ffdshow tryouts project, svn 3667 (x86/x64) (http://www.xvidvideo.ru/ffdshow-tryouts-project-x86-x64/ffdshow-tryouts-project-svn-3667-x86-x64.html), is the closest you'll get.
Milardo
5th December 2011, 10:21
Yes, that is the only one i found so far.
haruhiko_yamagata
5th December 2011, 11:25
Thx clsid.
Then some other things:
- Lately I've noticed the alignment of the OSD has changed a bit. For the worse if you ask me. The letters slightly disappear in the left side of the screen. If you could just move them to the right 1 or 2 pixels, then it'll be just as it used to be.
Can you fix it by setting "Horizontal position:" slider in "OSD" page?
haruhiko_yamagata
5th December 2011, 11:30
- Lastly, a request (which I have requested earlier (http://forum.doom9.org/showthread.php?t=156427), but has fallen into oblivion):
To test and play avs-files (Avisynth-script pointing to YV12-material) and not having to install the Helix YUV Codecs 1.2, because of FFDShow's ability to handle raw YV12 material, is of course great. However, the downside to enabling raw YV12 in FFDShow is, it becomes an unnecessary DirectShow filter in case of all lossy/encoded YV12 material. When you let the LAV Video Decoder handle H.264 for instance, the FFDShow Video Decoder comes after that serving no purpose at all.
So, an option to allow FFDShow only in this case (AVI/AVS-files with or pointing to raw YV12 video) would be ideal. And of course the idea behind it, something like; if other than FFDShow decoder present, then don't load. And if no other decoder capable of handling raw YV12 video, then load FFDShow Video Decoder.
I don't understand what you are talking. How avs file is decoded and how it is connected to ffdshow? Could you show me how it is rendered in graphedt.exe?
haruhiko_yamagata
5th December 2011, 11:47
A small bug I noticed just now, using rev4102, if resizing is enabled in ffdshow and "Specify horizontal and vertical size" or "Specify horizontal size" is chosen and if the horizontal size is a number like 1680 which will result in an odd number if divided by 16, a [I think] one-pixel wide green column will appear at the rightmost part of 10-bit videos during playback. 8-bit videos are fine, numbers like 1600, 1616, 1632, etc are also fine.
I see green or garbage if I enter 724 or something. If it is multiple of 8, it works for me.
Rev 4120 may fix the issue. I cannot reproduce even if I disable patch 4120 though.
Reino
5th December 2011, 13:27
Can you fix it by setting "Horizontal position:" slider in "OSD" page?Moving the slider one bit to the right, moves the OSD 7 pixels to the right. Not what I intended. No, I think the following entry is the culprit:
Revision 4039 - Directory Listing
Modified Thu Nov 10 04:51:59 2011 UTC (3 weeks, 4 days ago) by h_yamagata
subtitles branch: fixed OSD spacinghttp://img7.imageshack.us/img7/4361/ffdshowosd1.th.png (http://img7.imageshack.us/img7/4361/ffdshowosd1.png) http://img26.imageshack.us/img26/8385/ffdshowosd2.th.png (http://img26.imageshack.us/img26/8385/ffdshowosd2.png)
Also notice the extra blurring for some reason (especially noticeable on the first line)
About uncompressed YV12 material:
This is about people who frequently use Avisynth or are using other video editing software, who are working with uncompressed YV12 material. Be it uncompressed YV12 video in an AVI container (sample (http://www.mediafire.com/?zs7vmfucqxqv16p)), or through a simple Avisynth-script:
MPEG2Source("Avisynth_YV12-sample.d2v", cpu=0)
Crop(4,2,-4,-2)
LanczosResize(720,404)
For testing you obviously need a YV12 decoder and since FFDShow already has one, who needs the XviD Video codec or the Helix YUV Codecs 1.2?
We can simply set "Raw video" on the "Codecs"-tab at "YV12" or "All supported", in which case the DirectShow Graph look like this:
http://img444.imageshack.us/img444/5940/dsgraphavs.png
The whole downside of this story is, now FFDShow will also function as a post-processing filter for compressed YV12 material (MPEG2,DivX,XviD,H.264,etc):
http://img32.imageshack.us/img32/7016/dsgraphother.png
And instead of the LAV Video Decoder picture every non-FFDShow filter of course. Every decoder that spits out YV12 video.
I would very much welcome an option on the "Codecs"-tab for FFDShow to decode uncompressed YV12 material (directly (avi-file) or indirectly through an Avisynth-script) and not behave as a post-processing filter on all YV12 material.
I hope you understand now, I can't explain it any better.
nevcairiel
5th December 2011, 13:51
For testing you obviously need a YV12 decoder
How so?
If your renderer supports YV12 material, why do you need a special filter in between?
In theory there is no difference between the output from a decoder and the output from an AviSynth script.
As an alternative, you could also increase the merit of the ffdshow raw filter a bit, so that its above MERIT_DO_NOT_USE, but still way below the merit of the renderers, so that it doesn't get auto-inserted if its not needed.
Reino
5th December 2011, 15:21
Afaik among Windows XP its available video renderers (Full Screen Renderer, Video Renderer, Video Mixing Renderer 7 and Video Mixing Renderer 9 (all quartz.dll)), there's not one that can handle YV12 video without a decoder.
And about that; why isn't a shortcut for the Raw Video Decoder config made after install, like the Video,Audio,DXVA and VFW config? When I manually create a shortcut for it (read about creating it on this forum some time ago), with the entry "%windir%\system32\rundll32.exe ffdshow.ax,configureRaw", it crashes immediately on the first tab "Codecs". :(I get a Rundll Application Error when I try to open the config through the shortcut, changing the merit with Softella DirectShow Filter Manager (http://www.softella.com/dsfm/index.en.htm) has no effect, trying to access the config with the same program results in the Rundll error again, and thus trying to manually add the FFDShow Raw Video Filter in MONOGRAM GraphStudio (http://blog.monogram.sk/janos/2009/06/14/monogram-graphstudio-0320/) has no effect at all. I somehow can't use it to be short. (happened with latest rev4122)
mandarinka
5th December 2011, 17:59
I see green or garbage if I enter 724 or something. If it is multiple of 8, it works for me.
Rev 4120 may fix the issue. I cannot reproduce even if I disable patch 4120 though.
The green stuff on right edge happens with 10-bit video even without software scaling, the requirement is that the video width (I'm not sure about height) must be non-mod4 AND vsfilter must follow ffdshow in the playback chain (tested: revision 4096). I didn't report it here yet, because it is a bit messy matter, but I notified CCCP team (since they ship with vsfilter) here, for reference:
http://www.cccp-project.net/forums/index.php?topic=6084.msg39465#msg39465
See post 23 (before to that point the thread is about an older bug). A sample that replicates the behavior can be found in post 1 though).
Edit: I quickly tested a build of r4122 (xvidvideo.ru, 32-bit msvc) and it seems that reverting that vsfilter workaround has broken non-mod4 width video totally (both 8bit and 10bit) - essentially the old bug reported in the first post of that cccp forum thread got reintroduced. I didn't test r4123 (no builds yet...)
Reino
5th December 2011, 18:22
I don't know how, but the Rundll Application Error upon opening the FFDShow Raw Video Decoder config is over now. I was searching for the revision that would cause the error, but ultimately ended up installing the latest revision again...and the error was gone...weird.
But now I'm facing another problem; with all the revisions I installed, including the latest one, the merit slider on the "DirectShow control"-tab is grayed out. I can't use it.
Changing the merit with Softella DirectShow Filter Manager also now still has no effect.
(Although it's not the aim, the Raw Video Decode does work though when manually adding it on MPC-HC's "External Filters"-tab and changing the merit to 00400000)
Dstruct
5th December 2011, 18:49
Minor installer bug: With "DXVA" unchecked in Installer, ffdshow (rev4122) still copies the Intel QuickSync DLL into the program folder. Should get fixed.
SOLVED
oddball
5th December 2011, 19:05
I have an issue with the delogo filter. It won't work right up to the edge of the frame. It always leaves about 2 pixels or so visible. If I try to cover those two pixels the delogo mask vanishes completely. Example below. You can see part of the logo at the bottom left. I have tried different aspects and touching from from inside and outside etc to no avail.
http://www.imagebam.com/image/74363e162953570
clsid
5th December 2011, 20:06
Minor installer bug: With "DXVA" unchecked in Installer, ffdshow (rev4122) still copies the Intel QuickSync DLL into the program folder. Should get fixed.QuickSync is a plugin for the regular ffdshow video decoder. It is not in any way related to the DXVA functionality of ffdshow.
clsid
5th December 2011, 20:07
I don't know how, but the Rundll Application Error upon opening the FFDShow Raw Video Decoder config is over now. I was searching for the revision that would cause the error, but ultimately ended up installing the latest revision again...and the error was gone...weird.
But now I'm facing another problem; with all the revisions I installed, including the latest one, the merit slider on the "DirectShow control"-tab is grayed out. I can't use it.
Changing the merit with Softella DirectShow Filter Manager also now still has no effect.
(Although it's not the aim, the Raw Video Decode does work though when manually adding it on MPC-HC's "External Filters"-tab and changing the merit to 00400000)
You must right-click and "run as admin" to be able to change merits with programs or ffdshow config.
Reino
5th December 2011, 20:43
I'm using an nLited (http://www.nliteos.com/nlite.html) Windows XP Pro SP3. I'm always running as Admin, so in essence I can access everything. No hidden settings. That makes me wonder how FFDShow detects if one is running as admin or not.
It's only the Raw Video Decoder config, the other configs I can change the merits no problem.
haruhiko_yamagata
6th December 2011, 11:06
The green stuff on right edge happens with 10-bit video even without software scaling, the requirement is that the video width (I'm not sure about height) must be non-mod4 AND vsfilter must follow ffdshow in the playback chain (tested: revision 4096). I didn't report it here yet, because it is a bit messy matter, but I notified CCCP team (since they ship with vsfilter) here, for reference:
http://www.cccp-project.net/forums/index.php?topic=6084.msg39465#msg39465
See post 23 (before to that point the thread is about an older bug). A sample that replicates the behavior can be found in post 1 though).
Edit: I quickly tested a build of r4122 (xvidvideo.ru, 32-bit msvc) and it seems that reverting that vsfilter workaround has broken non-mod4 width video totally (both 8bit and 10bit) - essentially the old bug reported in the first post of that cccp forum thread got reintroduced. I didn't test r4123 (no builds yet...)
It was my fault for not testing properly and misread the situation. That vsfilter's bug was still alive.
In DirectShow, the down stream filter prepares buffer. There is no explicit transmission of the strides. Thus both filters have to guess stride from the dimensions.
MSDN in Japanese document (http://msdn.microsoft.com/ja-jp/library/cc352308.aspx) says that for YUV format such as YV12 stride has to be rounded to the nearest DWORD alignment. Sorry, I can't find English documentation. It look like that part was deleted/changed.
vsfilter does not align the stride at all. If ffdshow does not take the bug into account, the picture is messed up.
I think it is not wise to fix vsfilter now, because filters that have the workaround gets broken again.
nevcairiel
6th December 2011, 11:12
For the record, ffdshow raw also doesn't deal with any stride, it will exhibit the same problems (green bar, etc).
The best solution would be if the post-processor takes over the buffer control and then requests the stride (much like a renderer would function).
haruhiko_yamagata
6th December 2011, 13:31
For the record, ffdshow raw also doesn't deal with any stride, it will exhibit the same problems (green bar, etc).
Oops, then ffdshow has the same bug.
The best solution would be if the post-processor takes over the buffer control and then requests the stride (much like a renderer would function).
Would you explain the detail?
haruhiko_yamagata
6th December 2011, 13:36
Afaik among Windows XP its available video renderers (Full Screen Renderer, Video Renderer, Video Mixing Renderer 7 and Video Mixing Renderer 9 (all quartz.dll)), there's not one that can handle YV12 video without a decoder.Thank you for explanation.
ffdshow's default output color space has been YV12 for a long time. On Windows Xp, YV12 should work fine except very rare cases.
OSD:
I'll take a look later.
JEEB
6th December 2011, 13:51
Yeah, the stride bug was found to be in both VSFilter as well as the raw input filter, I think it's mentioned in the related CCCP thread as well...
Anyways, I was going to report these things as soon as I got off my lazy turd to make a sample of another file where -tryouts was using the wrong channel mapping with a 4ch AC3 stream if libavcodec's decoder was used (probably matched to whatever liba52 was putting out since using that one seems to output the same as VLC/LAV Audio). That sample is now available here (http://www.cccp-project.net/beta/test_files/4ch_ac3sample.mka).
Dstruct
6th December 2011, 14:48
QuickSync is a plugin for the regular ffdshow video decoder. It is not in any way related to the DXVA functionality of ffdshow.
Ok, thanks! Didn't know that.
GMJCZP
6th December 2011, 16:33
I'm using version ffdshow_rev4052_20111120_clsid and noticed that one avi video which is H.264 video component could not play in Media Player Classic, so I tried installing an older version, the ffdshow_rev3336_20100327_clsid, and with that I was able to play the video, but not wanting to keep an older version I chose to use the Haali Media Splitter, and leaving "disabled" option decoding.
I hope you can resolve this inconsistency. Thank you.
Reino
6th December 2011, 18:30
Thank you for explanation.
ffdshow's default output color space has been YV12 for a long time. On Windows Xp, YV12 should work fine except very rare cases.
OSD:
I'll take a look later.Uhm...that was a reply to nevcairiel. My reply to you is 2 post earlier.
You must right-click and "run as admin" to be able to change merits with programs or ffdshow config.I'm using an nLited (http://www.nliteos.com/nlite.html) Windows XP Pro SP3. I'm always running as Admin, so in essence I can access everything. No hidden settings. That makes me wonder how FFDShow detects if one is running as admin or not.
It's only the Raw Video Decoder config, the other configs I can change the merits no problem.Ok, first of all, FFDShow's Raw Video Decoder does work now. I guess, after changing its merit with Softella DirectShow Filter Manager, somehow a reboot is required for it to work...weird though o_O.
However, even after having tested it on another computer ('normal' Windows XP using an admin-account with full access), also here the merit-slider is greyed out and inaccessible.
Has anyone reading this topic access to this merit-slider at all (you can find it on the "Codecs"-tab of FFDShow's Raw Video Decoder config)?
clsid
6th December 2011, 22:14
It is greyed out deliberately. It should be removed completely imo.
haruhiko_yamagata
7th December 2011, 11:44
The swscale performance issue is because of a data alignment issue. See swscale.c, line 2620.
Haruhiko, can you have a look at that?OK, I'm working on it.
Reino
7th December 2011, 17:41
@ clsid:
Then why hold up the "run as admin"-story at all? Rather misleading.
You don't want people to use the Raw Video Decoder at all?
ikarad
7th December 2011, 20:35
OK, I'm working on it.
Do you still work on sub renderer and support of /t subs?
Blight
7th December 2011, 21:20
Bug report:
This is not a new report, it's just troubling.
When using the FFDShow Subtitle Renderer filter (not rendering with the video decoder) with the "Set interlaced flag in output media type" checkbox enabled in the "output" section, FFDShow crashes GraphStudio (and elsewhere) as soon as the graph is run.
Here's a sample file and a grf file to test with
It uses FFDShow for Audio decoder and sub renderer and LAV for the splitter and video decoder. EVR is used as the video renderer.
The crash occurs whether ffdshow is used as an audio/video decoder or not.
Download sample:
http://www.multiupload.com/SV8IKUHXS5
The GRF file was created under "D:\X"
clsid
7th December 2011, 23:26
@ clsid:
Then why hold up the "run as admin"-story at all? Rather misleading.
You don't want people to use the Raw Video Decoder at all?The raw filter is supposed to be manually inserted into the filter graph by an application that desires to use it. It is not designed to be used like a normal filter.
Changing merits requires admin privileges and therefore "run as admin" can help.
GMJCZP
8th December 2011, 05:45
I'm using version ffdshow_rev4052_20111120_clsid and noticed that one avi video which is H.264 video component could not play in Media Player Classic, so I tried installing an older version, the ffdshow_rev3336_20100327_clsid, and with that I was able to play the video, but not wanting to keep an older version I chose to use the Haali Media Splitter, and leaving "disabled" option decoding.
I hope you can resolve this inconsistency. Thank you.
Please, follow with the problem, I must be getting disabled / libavcodec and is an inconvenience. Thanks.
cyberbeing
8th December 2011, 08:42
@haruhiko_yamagata
It seems you also need to apply a similar VSFilter stride fix P010 & P016 as well.
FFDShow r4127 with mandarinka's mod-2 width sample results in a green bar on the right side of the image when outputting P010 or P016 to xy-VSFilter. The problem doesn't occur with LAV Video 0.42.
haruhiko_yamagata
8th December 2011, 13:39
Bug report:
This is not a new report, it's just troubling.
When using the FFDShow Subtitle Renderer filter (not rendering with the video decoder) with the "Set interlaced flag in output media type" checkbox enabled in the "output" section, FFDShow crashes GraphStudio (and elsewhere) as soon as the graph is run.
Here's a sample file and a grf file to test with
It uses FFDShow for Audio decoder and sub renderer and LAV for the splitter and video decoder. EVR is used as the video renderer.
The crash occurs whether ffdshow is used as an audio/video decoder or not.
Download sample:
http://www.multiupload.com/SV8IKUHXS5
The GRF file was created under "D:\X"
Thank you for testing that filter. I've been thinking of removal of the registration, but if you have any plan to use it, I'll fix it.
haruhiko_yamagata
8th December 2011, 13:40
Do you still work on sub renderer and support of /t subs?Not now, please wait.
haruhiko_yamagata
8th December 2011, 13:42
@haruhiko_yamagata
It seems you also need to apply a similar VSFilter stride fix P010 & P016 as well.
FFDShow r4127 with mandarinka's mod-2 width sample results in a green bar on the right side of the image when outputting P010 or P016 to xy-VSFilter. The problem doesn't occur with LAV Video 0.42.They are different two problems. It's not a fault of xy-VSFilter. Anyway, I'll fix it.
haruhiko_yamagata
8th December 2011, 13:48
Please, follow with the problem, I must be getting disabled / libavcodec and is an inconvenience. Thanks.Please provide a sample. H.264 in AVI plays fine for me.
ikarad
8th December 2011, 20:19
Not now, please wait.
Thanks very much for your answer. Your works on ffdshow is very important.
I'll wait but no too long I hope :D
GMJCZP
9th December 2011, 01:00
Please provide a sample. H.264 in AVI plays fine for me.
I took a sample of the video, and amazingly it does reproduce normally, it may be a registry problem the file header. Even so, the current ffdshow should play, as does a 2010 version.
mandarinka
9th December 2011, 03:12
I can confirm that after updating to r4130 build, the problems with playback of the bleh.mkv sample from CCCP forums are fixed.
A glitch with non-mod4 width video remains in the grab filter apparently - the last two columns on the right border are missing from the grabbed screens, there is just black bar there instead. This is reproducible with the same sample.
screenshot made with MPC: http://i.imgur.com/RKKj0.png
screenshot made with ffdshow's grab: http://i.imgur.com/8bkHa.png
P.S. I tried to force rgb32 output for that sample, but MPC crashed in ffdshow.ax. I fear the crash might not be reproducible though :(
As far as I can see, the requirement for it to crash is to have vsfilter enabled with the rgb32 input; if I disable vsfilter, crash goes away.
This crash also seems to affect 8-bit h.264 (tested with a diferent 714x480 sample).
haruhiko_yamagata
9th December 2011, 12:23
I took a sample of the video, and amazingly it does reproduce normally, it may be a registry problem the file header. Even so, the current ffdshow should play, as does a 2010 version.
If just cutting a small part from the video fix the issue, the file is likely to be broken.
You could use binary editor to cut first 1MB. If it plays fine by the older version and does not play by the latest version, please send me the sample.
haruhiko_yamagata
9th December 2011, 14:05
I can confirm that after updating to r4130 build, the problems with playback of the bleh.mkv sample from CCCP forums are fixed.
A glitch with non-mod4 width video remains in the grab filter apparently - the last two columns on the right border are missing from the grabbed screens, there is just black bar there instead. This is reproducible with the same sample.
screenshot made with MPC: http://i.imgur.com/RKKj0.png
screenshot made with ffdshow's grab: http://i.imgur.com/8bkHa.png
Rev 4135 should work.
P.S. I tried to force rgb32 output for that sample, but MPC crashed in ffdshow.ax. I fear the crash might not be reproducible though :(
As far as I can see, the requirement for it to crash is to have vsfilter enabled with the rgb32 input; if I disable vsfilter, crash goes away.
This crash also seems to affect 8-bit h.264 (tested with a diferent 714x480 sample).
I can't reproduce.
mandarinka
9th December 2011, 22:18
Oh, I feared so...
I don't actually feed rgb32 to the renderer, so I'm fine. I use the grab function a lot though, thanks for adressing the glitch in it! Rev. 4136 works great :)
BTW, I'm curious... for 10-bit video, does the grab filter convert straight to rgb, or does it need to convert to yv12 first (assuming that HQ conversion is enabled)?
GMJCZP
9th December 2011, 22:36
If just cutting a small part from the video fix the issue, the file is likely to be broken.
You could use binary editor to cut first 1MB. If it plays fine by the older version and does not play by the latest version, please send me the sample.
Here the link of sample:
http://www.mediafire.com/?z4ntmgywitl
Remember that this sample works fine with last ffdshow, but not the entire video. Good luck!
cyberbeing
10th December 2011, 00:09
They are different two problems. It's not a fault of xy-VSFilter. Anyway, I'll fix it.
Since the issue still exists in FFDShow r4136, I assume the r4132 + r4134 commits weren't supposed to fix this? What exactly is the problem related to, so I can identify it in the sourceforge svn log when it gets fixed?
haruhiko_yamagata
10th December 2011, 00:29
BTW, I'm curious... for 10-bit video, does the grab filter convert straight to rgb, or does it need to convert to yv12 first (assuming that HQ conversion is enabled)?It's direct.:)
mandarinka
10th December 2011, 00:36
Perfect :D
haruhiko_yamagata
10th December 2011, 03:36
Since the issue still exists in FFDShow r4136, I assume the r4132 + r4134 commits weren't supposed to fix this? What exactly is the problem related to, so I can identify it in the sourceforge svn log when it gets fixed?
Rev 4139 should work.
haruhiko_yamagata
10th December 2011, 04:39
Here the link of sample:
http://www.mediafire.com/?z4ntmgywitl
Remember that this sample works fine with last ffdshow, but not the entire video. Good luck!I need a sample that does not work.
Would you narrow the range of regression? I need the information about the last working version and the first version that does not work.
GMJCZP
10th December 2011, 08:18
One problem: The original video has been removed from all servers, and I can not upload it because I do not have internet itself.
The only thing left is to see if this small file has the same features of the other:
Link (http://www.wupload.com/file/59282586/[deluvian]_[1972]_Umi_no_Triton_-_01_[3FA3BB44].avi)
The version of ffdshow with problems is ffdshow_rev4052_20111120_clsid, and the version that work is the ffdshow_rev3336_20100327_clsid.
ryrynz
10th December 2011, 11:45
Hi Haruhiko, any chance you could take a look at this issue? Thanks.
http://sourceforge.net/tracker/?func=detail&atid=867360&aid=3400530&group_id=173941
haruhiko_yamagata
10th December 2011, 12:41
Hi Haruhiko, any chance you could take a look at this issue? Thanks.
http://sourceforge.net/tracker/?func=detail&atid=867360&aid=3400530&group_id=173941
I can't reproduce. Please export the settings and send me the file.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.