Log in

View Full Version : ffdshow tryouts project: Discussion & Development


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 [303] 304 305 306 307 308

kc7bfi
7th December 2012, 20:33
I am trying to understand the code as to how the video decoder retrieves the video samples from the source filter. Are they pushed in or pulled by the decoder. Any help or insight would be appreciated. David

nevcairiel
7th December 2012, 21:08
The source filter pushes samples.

LigH
10th December 2012, 10:42
I believe the buffer should be big enough to keep about a whole GOP, because AVC requires a lot of frames available to encode efficiently with enough references for bidirectionally predicted (B-) frames...

mark0077
13th December 2012, 21:29
Guys, I use ffdshow raw video filter for avisynth double frame rate scripts. When using ffdshow however I lose out on subtitles, they just don't appear anymore. Is there a way to stop ffdshow doing this?

I'm using mpc-be, madVR and LAV Filters / Splitters. I just want ffdshow to double frame rate, nothing else, and nothing other than avisynth is checked in the list of filters.

Matching_Mole
13th December 2012, 21:57
I know that the development of FFDShow is more or less dead but it remains currently the only tool available for post processing. And I have an issue with it, independently of the version I tried. I don't know if it is a bug or a misconfiguration. I hope someone can help me.

My issue is concerning only DVD as all works fine with MKV, Blu-ray,.... I use Lavfilter to decode video and MadVR as renderer. If FFDShow is not present on the graph, all is ok in terms of information sent to MadVR (Framerate, colorspace, deinterlacing,...):
http://www.imagehost.co.za/thumb-D243_50CA3EC4.jpg (http://www.imagehost.co.za/share-D243_50CA3EC4.html)

But as soon as FFDShow is present on the graph (even if no filter is selected), the information sent to MadVR are completely wrong (Framerate, Colorspace as MadVR is deducting it from the framerate because no information is sent to it, deintrelacing...):
http://www.imagehost.co.za/thumb-7DA0_50CA3EC4.jpg (http://www.imagehost.co.za/share-7DA0_50CA3EC4.html)

I tried several version of FFDShow, players,set up,... each time I get this issue.

Someone can help me?

Thanks in advance.

_xxl
13th December 2012, 22:31
Wouldn't be time to start a new ffdshow thread like MPC-HC?

clsid
13th December 2012, 22:58
Guys, I use ffdshow raw video filter for avisynth double frame rate scripts. When using ffdshow however I lose out on subtitles, they just don't appear anymore. Is there a way to stop ffdshow doing this?

I'm using mpc-be, madVR and LAV Filters / Splitters. I just want ffdshow to double frame rate, nothing else, and nothing other than avisynth is checked in the list of filters.Fixed in 4495.

mark0077
13th December 2012, 23:13
Cheers Clsid!!

ryrynz
14th December 2012, 07:31
clsid can you build with VS2012?

NiFa
14th December 2012, 07:33
Hi.

I would like to use FFDshow subtitles filter with 10-bit videos, because FFDShow is only one that gives you change to make different profiles for 2D and 3D movies. Problem is that it won't load when input is 10-bit (P010 or P210) or NV12.
If I have understanded right it should work if I could select P010 and P210 support in RAW video?

nevcairiel
14th December 2012, 07:54
I don't think ffdshow supports 10-bit input, or ever will. Its mostly dead now.

NiFa
14th December 2012, 08:09
Is there any other subtitles filter that gives possibility to play 3D subs?

Matching_Mole
15th December 2012, 14:16
I know that the development of FFDShow is more or less dead but it remains currently the only tool available for post processing. And I have an issue with it, independently of the version I tried. I don't know if it is a bug or a misconfiguration. I hope someone can help me.

My issue is concerning only DVD as all works fine with MKV, Blu-ray,.... I use Lavfilter to decode video and MadVR as renderer. If FFDShow is not present on the graph, all is ok in terms of information sent to MadVR (Framerate, colorspace, deinterlacing,...):
http://www.imagehost.co.za/thumb-D243_50CA3EC4.jpg (http://www.imagehost.co.za/share-D243_50CA3EC4.html)

But as soon as FFDShow is present on the graph (even if no filter is selected), the information sent to MadVR are completely wrong (Framerate, Colorspace as MadVR is deducting it from the framerate because no information is sent to it, deintrelacing...):
http://www.imagehost.co.za/thumb-7DA0_50CA3EC4.jpg (http://www.imagehost.co.za/share-7DA0_50CA3EC4.html)

I tried several version of FFDShow, players,set up,... each time I get this issue.

Someone can help me?

Thanks in advance.

Does anyone know why FFDShow give me this error? I mean, for me the Pin Out Data should be the same that the Pin Out ones (except for color maybe as I not unchecked NV12 box), especially regarding the FPS but it is not:

Pin In:
http://www.imagehost.co.za/thumb-54C8_50CC76CF.jpg (http://www.imagehost.co.za/share-54C8_50CC76CF.html)

Pin Out:
http://www.imagehost.co.za/thumb-647A_50CC76CF.jpg (http://www.imagehost.co.za/share-647A_50CC76CF.html)

(I use no filter in FFDshow for this test)

I try several FFDShow version, even one from 2004 and I got exactly the same error each time. Do I make something wrong or it is a bug?

sierramike
18th December 2012, 18:16
Cheers, got it sorted. *.flv, *.mp4 etc :-)

Hi,

I've got a problem. I had a profile which must match a certain movie dimension AND application exe filename, it works. But I need some tweaking for movie file names which does contain the "3D" pattern.

So I duplicated the profile, did the tweaking, and in the autoload preset conditions, I added "on movie file name match", but it doesn't work.
I tried prefixing my files with pattern "3D_moviename.ext", using "3D_*" pattern but my preset didn't be taken.
I tried "*.3D.*" for files named "moviename.3D.ext", but nothing.

How does it work and how to prevent the other profile to be taken ? There should be negative conditions "on movie file name not match" :)

Thanks by advance

clsid
18th December 2012, 23:52
It seems a bit buggy. But "*[3D]*" works here for "moviename_[3D].ext".

mark0077
30th December 2012, 17:15
Hi, I'm using clsid build 4496 on my machine. I installed a piece of software that set ffdshow video decoder (which I don't use), merit to "default". I can't set it back to "do not use". I hit apply / ok, but the setting doesn't seem to save.

If I reopen the video decoder dialog, its set back to "default". I wonder is this a quick fix?

clsid
30th December 2012, 18:09
Right-click on the config shortcut and choose 'run as administrator'.

mark0077
30th December 2012, 18:11
oh wow never had to do that in Windows 7, thanks clsid!

sswroom
4th January 2013, 18:49
Hi,

I am using ffdshow tryouts rev4496 on WinXP.
I found that there are some problem in using ffvfw interface.
It works fine when using YV12/YUY2/UYVY/AYUV output but not others.

Source video is H.264 with embedding sps and pps at every I-Frame.

For NV12 output, ICDecompressBegin replies ICERR_OK but ICDecompress replies ICERR_UNSUPPORTED.

For Y416 output, ICDecompress replies ICERR_OK but nothing is written to the output buffer.

For P010/P210/P016/P216 output, access violation occurs. I have check the output buffer, only Y data are written. No U/V data found.


Access Violation Details:
Stack Trace:
02399DA1 C:\Program Files\ffdshow\ffdshow.ax
0239AAB9 C:\Program Files\ffdshow\ffdshow.ax
0239B192 C:\Program Files\ffdshow\ffdshow.ax
0239B3A3 C:\Program Files\ffdshow\ffdshow.ax
0239B623 C:\Program Files\ffdshow\ffdshow.ax
0255516E C:\Program Files\ffdshow\ffdshow.ax!configureEnc+0x000BA50E
02555B3E C:\Program Files\ffdshow\ffdshow.ax!configureEnc+0x000BAEDE
02593F8B C:\Program Files\ffdshow\ffdshow.ax!configureEnc+0x000F932B
02594774 C:\Program Files\ffdshow\ffdshow.ax!configureEnc+0x000F9B14
024DA785 C:\Program Files\ffdshow\ffdshow.ax!configureEnc+0x0003FB25
02594D85 C:\Program Files\ffdshow\ffdshow.ax!configureEnc+0x000FA125
020A4F1E C:\WINDOWS\system32\ff_vfw.dll!DriverProc+0x000002AE
73B24DF4 C:\WINDOWS\system32\MSVFW32.dll!ICDecompress+0x0000003D

EAX = 02D2B7F0, EDX = 000000A0, ECX = 00000000, EBX = 0884F7EC
ESI = 05EF5D00, EDI = 81818181, ESP = 0884F7B0, EBP = 0884F7E0, EIP = 02399DA1

Disassembly:
Esp Ebp Eip Code
0884F7B0 0884F7E0 02399DA1 movntdq XMMWORD PTR [ECX], XMM3
0884F7B0 0884F7E0 02399DA5 add EAX, 4
0884F7B0 0884F7E0 02399DA8 add ECX, 16
0884F7B0 0884F7E0 02399DAB dec EDX
0884F7B0 0884F7E0 02399DAC jnz 0x02399D80
0884F7B0 0884F7E0 02399DAE mov ECX, DWORD PTR [EBP-12]
0884F7B0 0884F7E0 02399DB1 add ECX, DWORD PTR [EBX+48]
0884F7B0 0884F7E0 02399DB4 mov EAX, DWORD PTR [EBX+40]
0884F7B0 0884F7E0 02399DB7 add DWORD PTR [EBP-8], EAX
0884F7B0 0884F7E0 02399DBA dec DWORD PTR [EBP-16]
0884F7B0 0884F7E0 02399DBD mov DWORD PTR [EBP-12], ECX
0884F7B0 0884F7E0 02399DC0 jnz 0x02399D77
0884F7B0 0884F7E0 02399DC2 mov ESI, DWORD PTR [EBX+16]
0884F7B0 0884F7E0 02399DC5 mov EDI, DWORD PTR [EBX+12]
0884F7B0 0884F7E0 02399DC8 mov ECX, DWORD PTR [EBP-4]
0884F7B0 0884F7E0 02399DCB mov EAX, DWORD PTR [EBX+28]
0884F7B0 0884F7E0 02399DCE sal ECX, 4
0884F7B0 0884F7E0 02399DD1 lea EDX, DWORD PTR [EAX+EAX]
0884F7B0 0884F7E0 02399DD4 cmp ECX, EDX
0884F7B0 0884F7E0 02399DD6 jge 0x02399E20
0884F7B0 0884F7E0 02399DD8 cmp EAX, 8
0884F7B0 0884F7E0 02399DDB jbe 0x02399E20
0884F7B0 0884F7E0 02399DDD lea ECX, DWORD PTR [EAX-8]
0884F7B0 0884F7E0 02399DE0 add DWORD PTR [EBX+8], ECX
0884F7B0 0884F7E0 02399DE3 mov EAX, ECX
0884F7B0 0884F7E0 02399DE5 cdq
0884F7B0 0884F7E0 02399DE6 sub EAX, EDX
0884F7B0 0884F7E0 02399DE8 mov EDX, DWORD PTR [EBX+48]
0884F7B0 0884F7E0 02399DEB push EDX
0884F7AC 0884F7E0 02399DEC mov EDX, DWORD PTR [EBX+40]
0884F7AC 0884F7E0 02399DEF sar EAX, 1
0884F7AC 0884F7E0 02399DF1 add EDI, EAX
0884F7AC 0884F7E0 02399DF3 add ESI, EAX
0884F7AC 0884F7E0 02399DF5 mov EAX, DWORD PTR [EBX+44]
0884F7AC 0884F7E0 02399DF8 push EAX
0884F7A8 0884F7E0 02399DF9 mov EAX, DWORD PTR [EBX+36]
0884F7A8 0884F7E0 02399DFC push EDX
0884F7A4 0884F7E0 02399DFD mov EDX, DWORD PTR [EBX+32]
0884F7A4 0884F7E0 02399E00 push EAX
0884F7A0 0884F7E0 02399E01 mov EAX, DWORD PTR [EBX+24]
0884F7A0 0884F7E0 02399E04 push EDX
0884F79C 0884F7E0 02399E05 lea EDX, DWORD PTR [EAX+ECX*2]
0884F79C 0884F7E0 02399E08 mov EAX, DWORD PTR [EBX+20]
0884F79C 0884F7E0 02399E0B push 8
0884F798 0884F7E0 02399E0D push EDX
0884F794 0884F7E0 02399E0E mov EDX, DWORD PTR [EBX+8]
0884F794 0884F7E0 02399E11 lea ECX, DWORD PTR [EAX+ECX*2]
0884F794 0884F7E0 02399E14 push ECX
0884F790 0884F7E0 02399E15 push ESI
0884F78C 0884F7E0 02399E16 push EDI
0884F788 0884F7E0 02399E17 push EDX
0884F784 0884F7E0 02399E18 call 0x023996F0 (C:\Program Files\ffdshow\ffdshow.ax)
0884F784 0884F7E0 02399E1D add ESP, 44
0884F7B0 0884F7E0 02399E20 pop EDI
0884F7B4 0884F7E0 02399E21 pop ESI
0884F7B8 0884F7E0 02399E22 mov ESP, EBP
0884F7E0 0884F7E0 02399E24 pop EBP
0884F7E4 0884F820 02399E25 mov ESP, EBX
0884F7EC 0884F820 02399E27 pop EBX
0884F7F0 0884F820 02399E28 ret

clsid
4th January 2013, 22:11
ffdshow is no longer under active development. Submit a patch if you want it to be fixed.

mark0077
24th February 2013, 18:27
Guys, when using ffdshow + an avisynth script that changes the frame rate, do you ever have Reclock say

"Video No video stream found."

"Frame rate is unknown"

I am using avisynth and SVP to interpolate all content to 59.94fps, and using reclock to then help me with the difference beteen that and my display at 60.002 hz. This is fine for some content like blu-rays, but some other files that I'm trying like mp4's, with avisynth enabled I get those messages from Reclock and it won't kick in as it should to help me with the frame rate differences.

I'm just wondering does anyone know what causes this, is ffdshow possibly at fault?

Unticking avisynth during playback, immediately allows reclock to then find the Video frame rate of eg 24fps. Ticking avisynth on again shows the problem again but only after the media gets restarted.

Should ffdshow do something to change the output details / pin details after an avisynth script changes the playback rate. madVR for example still picks the rate up as 24fps in its pin input, even though it has been changed to 59.94fps.

Video: YV12 2048x1080 (16:9) 24fps

nevcairiel
24th February 2013, 19:29
If you always interpolate to 59.94, you could just set ReClock to this, and don't rely on its auto-detect.

mark0077
24th February 2013, 20:34
Hi Nev. Yeah I actually tried locking reclock to output at "refresh rate" bit it seems when it can't figure out the playback rate it won't make any changes ie it won't do anything to make the 59.94 -> 60.001 smoother due to the lack of being able to get the rate.

For this reason I think ill need to figure out a way around this I suppose or not use reclock and interpolate to 60.001 which I was doing originally but it uses more resources than interpolating to a nice multiple like 59.94

nevcairiel
24th February 2013, 21:25
You can configure a fallback rate in its settings (not during playback, but the actual settings) which it uses as an assumption if the fps probing fails. This should work for what you need it to do.

mark0077
24th February 2013, 21:46
Thanks nev. Ill use that as a workaround. Cheers.

Blight
10th March 2013, 17:23
I'm getting reports of crashes in Zoom Player's subtitle cycling feature from build 4496 (4494 doesn't suffer from this).
Was something in ffdshow's subtitle code changed recently to possibly account account for this issue?

foxyshadis
14th March 2013, 00:24
I'm getting reports of crashes in Zoom Player's subtitle cycling feature from build 4496 (4494 doesn't suffer from this).
Was something in ffdshow's subtitle code changed recently to possibly account account for this issue?

Those two revisions in between were entirely subtitle code. The most likely reason is that embedded subtitles were enabled by default in 4496; if you can get in contact with anyone who had a crash, have them test whether disabling that fixes it. (The "Embedded Subtitles" box on the Subtitles config screen.) It can also be disabled in the registry; subTextpin (DWORD) 0. It'd be handy to have a crash dump or way to reproduce it, naturally.

There's a new release today but with no subtitle changes since then.

clsid
14th March 2013, 15:15
Those two changes also made ffdshow stricter with accepting subtitle pin connection. So perhaps you are not handling the situation correctly where ffdshow refuses connection.

romulous
15th March 2013, 08:41
@foxyshadis: I asked the person who reported this error to test again with your suggestion. He reported that the error disappears when embedded subtitles are disabled, but that also disables the Zoom Player subtitle cycling feature entirely. These are the reported reproduction steps - you will just need ffdshow 4496 or later, and a copy of Zoom Player (the just released 8.6.1 should be fine):

1. Install ffdshow rev 4496 or later.
2. Ensure Zoom is using ffdshow as the subtitle renderer. It uses VobSub by default - this can be set in Advanced Options-->Playback-->Video-->Subtitles.
3. Open the following test file in Zoom:
https://dl.dropbox.com/u/105555957/Bug%20%23371.mkv (50MB)
4. Ensure 'disabled' is selected in the Stream Selection menu (you see this when you right click the Zoom Player window), then use Ctrl+B to cycle through the subtitles.
5. Cycling to the first subtitle in the index should show the error.

This is what happened with the person who reported it disabled embedded subtitles in ffdshow:
"True, the "crash" does not happen any more, but also cycling to "disabled" does not work now, and it stays at the first subtitle in the Stream selection index. Using the keyboard to cycle stopped working as well. I can change the subtitle using the menu and mouse, but they do not display, obviously because embedded subs are not enabled I guess."

@clsid: Thanks, I have sent your comment to Blight.

Vincent Vega
15th March 2013, 21:47
like the title says..

if I uninstall ffdshow x64, dxdiag x64 runs normally

clsid
16th March 2013, 01:46
Uninstall it and install the latest version.

kc7bfi
20th March 2013, 19:48
I am having an issue where it is taking about 1.3 seconds on Windows 7 64bit to setup the filtergraph. I've set ffdshow to output the debug lines to the windows debugger. It seems that the time is being taken calling ffdshowDecVideo::CheckTransform. Here is a portion of the debug log
00000061 0.48507661 [8296] TffdshowDecVideoOutputPin::CompleteConnect
00000062 0.48508927 [8296] TffdshowDecVideo::CompleteConnect output
00000063 0.48510885 [8296] TffdshowDecVideo::DecideBufferSize
00000064 0.48514879 [8296] TffdshowDecVideo::CheckTransform
00000065 0.72769743 [8296] TffdshowDecVideo::CheckTransform
00000066 0.95664924 [8296] TffdshowDecVideo::CheckTransform
00000067 1.19082177 [8296] TffdshowDecVideo::CheckTransform
00000068 1.40908623 [8296] TffdshowDecVideo::CheckTransform
00000069 1.59862018 [8296] TffdshowDecVideo::CheckTransform
00000070 1.59915233 [8296] TffOutputQueue::Constructor
00000071 1.59917843 [8296] Connection succeeded
Notice that the CheckTransform calls take over 1 second to finish. Any idea why it is taking so long? Is there something else happening that is taking the time? Any idea how to proceed to debug the delay?

Thanks, David

clsid
21st March 2013, 00:46
No idea. It is probably related to the other filters that are tried when creating the graph. GraphStudioNext can generate a graph construction report.

LigH
24th March 2013, 08:07
Reported in this forum for years and forgotten, therefore in the bugtracker now:

Noise exaggerates in the right third in reduced window (https://sourceforge.net/tracker/?func=detail&aid=3608932&group_id=173941&atid=867360)

When the noise generate feature is enabled, and the video is displayed in a window smaller than the video size (e.g. a FullHD video in windowed mode fitting from inside, or in 50% Zoom), the noise is extremely exaggerated in the right third of the window.

http://frupic.frubar.net/thumbs/29057.png (http://frupic.frubar.net/29057)

kc7bfi
9th April 2013, 21:43
I have a problem with a particular camera where the "top" field of a H.264 video frame is being processed twice. Here is the output from the debugger log

00001478 27.11919022 [8892] slice:1 T mb:0 P fix pps:0 frame:5 poc:65546/2147483647 ref:1/1 qp:26 loop:1:0:0 weight:0
00001479 27.12047768 [8892] slice:1 B mb:0 P fix pps:0 frame:5 poc:65546/65547 ref:1/1 qp:25 loop:1:0:0 weight:0
00001480 27.16013908 [8892] slice:1 T mb:0 P fix pps:0 frame:6 poc:65548/2147483647 ref:1/1 qp:25 loop:1:0:0 weight:0
00001481 27.16434860 [8892] slice:1 T mb:0 P fix pps:0 frame:6 poc:65548/2147483647 ref:1/1 qp:25 loop:1:0:0 weight:0
00001482 27.16610336 [8892] mmco: unref short failure
00001483 27.16611290 [8892] mmco: unref short failure
00001484 27.16614342 [8892] illegal short term buffer state detected
00001485 27.16657066 [8892] slice:1 B mb:0 P fix pps:0 frame:6 poc:65548/65549 ref:1/1 qp:26 loop:1:0:0 weight:0
00001486 27.18620110 [8892] slice:1 T mb:0 P fix pps:0 frame:7 poc:65550/2147483647 ref:1/1 qp:25 loop:1:0:0 weight:0
00001487 27.18804932 [8892] slice:1 B mb:0 P fix pps:0 frame:7 poc:65550/65551 ref:1/1 qp:25 loop:1:0:0 weight:0
00001488 27.22807312 [8892] slice:1 T mb:0 P fix pps:0 frame:8 poc:65552/2147483647 ref:1/1 qp:26 loop:1:0:0 weight:0
00001489 27.23173714 [8892] slice:1 T mb:0 P fix pps:0 frame:8 poc:65552/2147483647 ref:1/1 qp:26 loop:1:0:0 weight:0
00001490 27.23297882 [8892] mmco: unref short failure
00001491 27.23299026 [8892] mmco: unref short failure
00001492 27.23301888 [8892] illegal short term buffer state detected
00001493 27.23345947 [8892] slice:1 B mb:0 P fix pps:0 frame:8 poc:65552/65553 ref:1/1 qp:25 loop:1:0:0 weight:0


Notice that the "top" field of frames 6 and 8 are processed twice. Is there some way to detect this and to ignore the duplicate field? I've looked at the h264.c source code but cannot seem to find an easy way to do this.

Thanks, David

Blight
14th April 2013, 14:41
Ok, I narrowed down why recent ffdshow subtitle renderer builds broke ZP's subtitle functions.
There's a bug in ffdshow where it doesn't update it's IAMStreamSelect interface dynamically if a selection was made on one of the filter ffdshow's sub renderer is aggregating IAMStreamSelect information from.

So if LAV is updated with a different subtitle stream through its IAMStreamSelect, the next time FFDShow's IAMStreamSelect is queried, it is still showing the old stream as enabled...

If my description isn't clear enough, let me know.

clsid
14th April 2013, 18:02
There haven't been any changes related to IAMStreamSelect. You can see recent changes at
http://ffdshow-tryout.svn.sourceforge.net/viewvc/ffdshow-tryout?revision=4505&view=revision

Blight
15th April 2013, 11:39
There haven't been any changes related to IAMStreamSelect. You can see recent changes at
http://ffdshow-tryout.svn.sourceforge.net/viewvc/ffdshow-tryout?revision=4505&view=revision

And still, this bug exists and didn't previously...
And you can recreate it without ZP specific code.

clsid
15th April 2013, 15:41
Please understand that ffdshow development is inactive. So if you want this to be fixed, you will have to submit a patch.

I did a quick test in MPC-HC with the raw subtitle filter and it seemed to work just fine. Correct subtitle is selected in ffdshow after changing sub in player or splitter. Tested an mkv with two embedded srt subs.

vedmysh
18th April 2013, 14:52
Hello. I am wondering is the project rather dead than alive?
I am developing a software and use ffdshow-tryouts as a primary decoding facility. From time to time i encounter a random crash when i try to counstruct the video decoder:


ntdll.dll!_ZwRaiseException@12() + 0x12 bytes
ntdll.dll!_ZwRaiseException@12() + 0x12 bytes
ntdll.dll!_NtQueryValueKey@24() + 0x12 bytes
kernel32.dll!_LocalBaseRegQueryValue@24() + 0x208 bytes
ntdll.dll!@RtlpAllocateHeap@24() + 0x95 bytes
ntdll.dll!_RtlAllocateHeap@12() + 0x5ca8 bytes
ffdshow.ax!5136e66a()
[Frames below may be incorrect and/or missing, no symbols loaded for ffdshow.ax]
ffdshow.ax!5136adf4()
ffdshow.ax!511928fe()
ffdshow.ax!5139dedc()
ffdshow.ax!511790bf()
ffdshow.ax!5139cb26()
ffdshow.ax!513624cf()
ole32.dll!CServerContextActivator::CreateInstance(IUnknown * pUnkOuter, IActivationPropertiesIn * pInActProperties, IActivationPropertiesOut * * ppOutActProperties) Line 1000 C++
ole32.dll!ActivationPropertiesIn::DelegateCreateInstance(IUnknown * pUnkOuter, IActivationPropertiesOut * * ppActPropsOut) Line 1917 C++
ole32.dll!CApartmentActivator::CreateInstance(IUnknown * pUnkOuter, IActivationPropertiesIn * pInActProperties, IActivationPropertiesOut * * ppOutActProperties) Line 2268 + 0x12 bytes C++
ole32.dll!CProcessActivator::CCICallback(unsigned long dwContext, IUnknown * pUnkOuter, ActivationPropertiesIn * pActIn, IActivationPropertiesIn * pInActProperties, IActivationPropertiesOut * * ppOutActProperties) Line 1737 + 0x12 bytes C++
ole32.dll!CProcessActivator::AttemptActivation(ActivationPropertiesIn * pActIn, IUnknown * pUnkOuter, IActivationPropertiesIn * pInActProperties, IActivationPropertiesOut * * ppOutActProperties, HRESULT (unsigned long, IUnknown *, ActivationPropertiesIn *, IActivationPropertiesIn *, IActivationPropertiesOut * *)* pfnCtxActCallback, unsigned long dwContext) Line 1630 C++
ole32.dll!CProcessActivator::ActivateByContext(ActivationPropertiesIn * pActIn, IUnknown * pUnkOuter, IActivationPropertiesIn * pInActProperties, IActivationPropertiesOut * * ppOutActProperties, HRESULT (unsigned long, IUnknown *, ActivationPropertiesIn *, IActivationPropertiesIn *, IActivationPropertiesOut * *)* pfnCtxActCallback) Line 1487 + 0x12 bytes C++
ole32.dll!CProcessActivator::CreateInstance(IUnknown * pUnkOuter, IActivationPropertiesIn * pInActProperties, IActivationPropertiesOut * * ppOutActProperties) Line 1377 + 0x18 bytes C++
ole32.dll!ActivationPropertiesIn::DelegateCreateInstance(IUnknown * pUnkOuter, IActivationPropertiesOut * * ppActPropsOut) Line 1917 C++
ole32.dll!CClientContextActivator::CreateInstance(IUnknown * pUnkOuter, IActivationPropertiesIn * pInActProperties, IActivationPropertiesOut * * ppOutActProperties) Line 685 C++
ole32.dll!ActivationPropertiesIn::DelegateCreateInstance(IUnknown * pUnkOuter, IActivationPropertiesOut * * ppActPropsOut) Line 1917 C++
ole32.dll!ICoCreateInstanceEx(const _GUID & Clsid, IUnknown * punkOuter, unsigned long dwClsCtx, _COSERVERINFO * pServerInfo, unsigned long dwCount, unsigned long dwActvFlags, tagMULTI_QI * pResults, ActivationPropertiesIn * pActIn) Line 1334 + 0x19 bytes C++
ole32.dll!CComActivator::DoCreateInstance(const _GUID & Clsid, IUnknown * punkOuter, unsigned long dwClsCtx, _COSERVERINFO * pServerInfo, unsigned long dwCount, tagMULTI_QI * pResults, ActivationPropertiesIn * pActIn) Line 343 C++
ole32.dll!CoCreateInstanceEx(const _GUID & Clsid, IUnknown * punkOuter, unsigned long dwClsCtx, _COSERVERINFO * pServerInfo, unsigned long dwCount, tagMULTI_QI * pResults) Line 157 C++
ole32.dll!CoCreateInstance(const _GUID & rclsid, IUnknown * pUnkOuter, unsigned long dwContext, const _GUID & riid, void * * ppv) Line 110 C++
> playerng.dll!RenderManager::video_decoder_create(IBaseFilter * * ppdecoder) Line 538 + 0x20 bytes C++


Is it possible to recieve the help here about this problem?
Thanks.

clsid
18th April 2013, 15:33
It is dead.
The full source is available, so you can make your own debug build.

If you only need a decoder, then LAV Filters is a superior alternative.

vedmysh
18th April 2013, 15:42
It is dead.
The full source is available, so you can make your own debug build.

If you only need a decoder, then LAV Filters is a superior alternative.

I already support both in my software - FFDSHOW and LAV.
Anyway, pity. It was a greate codec project.
BTW any faq/howto about building ffdshow project available (caveats, used compilers&tools, etc)?

clsid
18th April 2013, 15:59
You need:
1) Visual Studio 2010
2) MingW (http://xhmikosr.1f0.de/tools/MSYS_MinGW-w64_GCC_473_x86-x64.7z).
Extract MinGW to c:\msys
Add c:\msys\bin and c:\msys\mingw\bin to %PATH%
3) DirectX SDK june 2010

_xxl
24th April 2013, 14:34
I agree with you Clsid, maybe some parts of FFdshow are old and need updates, but the name is a "legend" if you understand me... millions of users use it. Maybe a merge of ffdshow and LAV could make a good choise....

nevcairiel
24th April 2013, 14:38
Maybe a merge of ffdshow and LAV could make a good choise....

Not going to happen.

clsid
24th April 2013, 14:39
I have already made preparations that make it possible to install just the ffdshow processing filters. Optionally loading those into the playback graph after the LAV decoders is on the ToDo list of LAV Filters.

ipanema
26th April 2013, 11:54
I have been experimenting with using the ffdshow-tryouts encoder (MJPEG selected) and getting some strange results, so I tried using it in a simple Graph Studio filter graph consisting of

File Source Async (Lagarith AVI file 1920x1080) > AVI Splitter > AVI Decompressor > ffdshow video codes > AVI Mux > File writer

effectively this is just transcoding a Lagarith AVI file to an MJPEG compressed AVI file.

The file it produces has the correct imagery, but is EXTREMELY grainy looking. I tried ffdshow video codec and ffdshow video encoder (not sure if they are really the same thing under the hood). Also, strangely, if you delete the ffdshow block and re-insert it and connect the graph up again and run it you either get an output file that has noticeable MJPEG artifacts (as if it was encoded at a much lower quality level than set in the ffdshow properties), or a complete random mess of pixels, or a fatal error "This application has requested the runtime to terminate in an unusual way".

I'm using version 4500 Jan 6 2013.

Is there a known problem with using ffdshow-tryouts as an MJPEG encoder, or am I doing something wrong?

It has been a while since I visited these parts, so am saddend to see that the ffdshow tryouts projects is dead. Where has everyone moved onto? I noticed that LAV decoders are mentioned, and Microsoft are moving from DirectShow to Media Foundation - is LAV using Media Foundation only?

What other other options are there for plug-in encoders if I can't get the ffdshow-tryouts encoder to work?

clsid
26th April 2013, 14:45
Yes, it is possible it is buggy. That functionality hasn't been actively maintained or tested for a very long time.

There are plenty of alternatives. VFW instead of DirectShow. Or something FFmpeg based, such as Handbrake.

ryrynz
27th April 2013, 00:23
I have already made preparations that make it possible to install just the ffdshow processing filters. Optionally loading those into the playback graph after the LAV decoders is on the ToDo list of LAV Filters.

Nice, looking forward to this.

dimitrik
29th April 2013, 10:05
I have already made preparations that make it possible to install just the ffdshow processing filters. Optionally loading those into the playback graph after the LAV decoders is on the ToDo list of LAV Filters.

That sounds very useful.

I suppose this will allow us the flexibility of using the player of choice, e.g. for using LAV filters in WMC without external players, while still taking advantage of the upscaling/post-processing/subtitle filters that ffdshow included.