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

Inventive Software
27th April 2007, 22:41
Yes, but just because it's enabled doesn't mean it's used. ;) It says it'll use it if it's there, which it plainly isn't, and I have no idea what the inherent difference is between Intel's MMX and SSE, and AMD's 3DNow!

Px
27th April 2007, 22:59
Intel E6300 doesn't have 3dnow! ext.
3dnow! ext can't be disabled...
Why? It's disabled because it unsupported, nothing wrong...

Px
27th April 2007, 23:00
Yes, but just because it's enabled doesn't mean it's used. ;) It says it'll use it if it's there, which it plainly isn't, and I have no idea what the inherent difference is between Intel's MMX and SSE, and AMD's 3DNow!
That is religion question :D

foxyshadis
28th April 2007, 05:13
That is religion question :D

Until recently the AMD processors were always optimized much better for 3dnow than for SSE/2, but they gained rough parity in later revisions of the K8. There were also a few things you could do better in 3dnow anyway, but they've been incorporated into the SSE monster set over the years.

_xxl
28th April 2007, 06:58
It's disabled because it unsupported
Look again please.
I''ll try to fix this bug.
Yes, but just because it's enabled doesn't mean it's used
True but it will be used:
SSE3 in xvidcore 1.2.
SSSE3 in x264.
SSE4(2) maybe it will be used in x264.

Kurtnoise
28th April 2007, 10:06
Best patch of the year...:D

Index: bin/clear.bat
===================================================================
--- bin/clear.bat (revision 1125)
+++ bin/clear.bat (working copy)
@@ -1 +1 @@
-rm *.exe *.dll *.ilk *.ax *.vdf *.acm
+del *.exe *.dll *.ilk *.ax *.vdf *.acm

Px
28th April 2007, 11:40
Look again please.
I''ll try to fix this bug.

I understand, you telling about lower part where user choose extensions, and I speaking about upper part, where shows actually used extensions :)
And I agree - checkboxes with unsupported extensions must be grayed :)

Leak
29th April 2007, 20:10
Here's yet another update of my AviSynth patch - sorry for the two-week delay caused mainly by my TFT monitor's backlight dying:

* Disable buffering when "Apply pulldown" is off and ahead and back buffers are set to 0 (i.e. the old AviSynth filter behaviour)
* Use original timestamps when the number of frames isn't changed

Patch (https://sourceforge.net/tracker/index.php?func=detail&aid=1676882&group_id=173941&atid=867362) (against rev. 1125)
Download (http://leak.no-ip.org/AviSynth/ffdshow/ffdshow_AviSynth_rev1125_20070429.exe) (pure MSVC 8/GCC 3.4.4 build with ICL9 kerneldeint/tomsmocomp DLLs)

I'd consider this version feature-complete; all that's left is adding a help-file documenting the AviSynth filter settings and operation and, of course, priming the help button on the AviSynth page to bring it up - but I thought another release while I'm tackling that can't hurt...

np: Hug - Tactic Without Practice (Heroes)

Piyoko
29th April 2007, 23:06
I just wanted to thank you for your work on this, Leak, as I've been looking for a good on-the-fly IVTC solution to watching anime DVDs for a very long time now. :)

Your newest version however gives me a "System exception - Access Violation" error message whenever I add TDecimate() to the AviSynth script.

I'm also wondering, is there any way to make the subtitles look better when decoding DVDs with ffdshow (libmpeg2.) As it is now they look terrible as the colour information is completely out of whack, for example: ffdshow/libmpeg2 (bad) (http://img362.imageshack.us/img362/8294/azubadjm2.png), nVidia decoder (good) (http://img460.imageshack.us/img460/7959/azugoodsg2.png).

Leak
30th April 2007, 00:32
I just wanted to thank you for your work on this, Leak, as I've been looking for a good on-the-fly IVTC solution to watching anime DVDs for a very long time now. :)
*cough*

Same here... :)

Your newest version however gives me a "System exception - Access Violation" error message whenever I add TDecimate() to the AviSynth script.
Strange, it works fine for me - what's the exact script you're using, and what are your buffer settings? And what filter are you using for MPEG2 decoding?

EDIT: Hmmm... I just noticed a crash when I use one of AviSynth's resizing filters after TFM/TDecimate... that's strange.

I'll investigate that further tomorrow; it's a bit late now...

I'm also wondering, is there any way to make the subtitles look better when decoding DVDs with ffdshow (libmpeg2.) As it is now they look terrible as the colour information is completely out of whack, for example: ffdshow/libmpeg2 (bad) (http://img362.imageshack.us/img362/8294/azubadjm2.png), nVidia decoder (good) (http://img460.imageshack.us/img460/7959/azugoodsg2.png).
Hmmm... I guess Haruhiko will have to answer that one, as I hardly know anything about the DVD subtitle part - except that there once was a bug in there that could crash ffdshow... :)

np: Jimi Tenor & Kabu Kabu - Hermetic Man (Joystone)

haruhiko_yamagata
30th April 2007, 07:14
I'm also wondering, is there any way to make the subtitles look better when decoding DVDs with ffdshow (libmpeg2.) As it is now they look terrible as the colour information is completely out of whack, for example: ffdshow/libmpeg2 (bad) (http://img362.imageshack.us/img362/8294/azubadjm2.png), nVidia decoder (good) (http://img460.imageshack.us/img460/7959/azugoodsg2.png).
OK, perhaps it's not DVD specific. ffdshow's color subtitle rendering is broken. I have a plan to fix this and make it ASS2 compatible, though it's hard...

jidelite
30th April 2007, 13:06
Here's yet another update of my AviSynth patch - sorry for the two-week delay caused mainly by my TFT monitor's backlight dying:

* Disable buffering when "Apply pulldown" is off and ahead and back buffers are set to 0 (i.e. the old AviSynth filter behaviour)
* Use original timestamps when the number of frames isn't changed

Patch (https://sourceforge.net/tracker/index.php?func=detail&aid=1676882&group_id=173941&atid=867362) (against rev. 1125)
Download (http://leak.no-ip.org/AviSynth/ffdshow/ffdshow_AviSynth_rev1125_20070429.exe) (pure MSVC 8/GCC 3.4.4 build with ICL9 kerneldeint/tomsmocomp DLLs)

I'd consider this version feature-complete; all that's left is adding a help-file documenting the AviSynth filter settings and operation and, of course, priming the help button on the AviSynth page to bring it up - but I thought another release while I'm tackling that can't hurt...

np: Hug - Tactic Without Practice (Heroes)

Leak,
Using your lastest version, I tried disabling buffering by unchecking "Apply pulldown" and seting ahead and back buffers to 0 but I get the same behavior as if buffering was on (slight stutter when the frame duration changes). I looked at the AviSynth OSD info and it still tells me I'm buffering ahead 1 (using the SeeSaw filter only). Should the AviSynth display look the same as if buffering were turned on when it is set to off?

Thanks,
jidelite

Piyoko
30th April 2007, 15:01
OK, perhaps it's not DVD specific. ffdshow's color subtitle rendering is broken. I have a plan to fix this and make it ASS2 compatible, though it's hard...
I really appreciate it, thanks.

Strange, it works fine for me - what's the exact script you're using, and what are your buffer settings? And what filter are you using for MPEG2 decoding?
I used the exact same settings from 1103, which worked there. This is the script I used:
LoadPlugin("C:\TIVTC\TIVTC.dll")
TFM(order=1,mode=1,PP=0,chroma=false)
TDecimate(mode=0,hybrid=0,chroma=false)
Tried both using the internal ffdshow mpeg2 decoders, as well as an external (MPC's built-in) and got the same error message with all of them. With 1103 I used buffers 0 back/11 ahead, but again it didn't matter for 1125, got the same error no matter what.

Leak
30th April 2007, 15:31
Using your lastest version, I tried disabling buffering by unchecking "Apply pulldown" and seting ahead and back buffers to 0 but I get the same behavior as if buffering was on (slight stutter when the frame duration changes). I looked at the AviSynth OSD info and it still tells me I'm buffering ahead 1 (using the SeeSaw filter only). Should the AviSynth display look the same as if buffering were turned on when it is set to off?
Well, with those settings I just take a single frame, immediately run it through the AviSynth script and spit the frame out again with the same timestamps that went in, so I don't know where that stutter comes from - unless the timestamps are totally bogus (like the start and end timestamps of the current frame being before the end timestamp of the last frame), which will make it silently drop the frame or adjust the timestamps slightly if the difference is small enough.

As far as the OSD is concerned - it only shows the values that would be neccessary for proper operation, but the filter itself will use the values you set in the config page.

np: Pole - Like Rain (But Different) (Pole)

Leak
30th April 2007, 15:39
Tried both using the internal ffdshow mpeg2 decoders, as well as an external (MPC's built-in) and got the same error message with all of them. With 1103 I used buffers 0 back/11 ahead, but again it didn't matter for 1125, got the same error no matter what.
Heh... turns out I was using TIVTC 1.0.0RC4; updating to 1.0.1 "fixed" things so I get the same error message as you now... *boggles*

I'll look into it. :)

EDIT: Okay, I found the problem - TIVTC starts requesting frames in TFM or TDecimate (can't remember which) as soon as the filter is constructed, which I didn't really expect, so a few variables weren't initialized at that time that should have been.

Of course, I really can't hand TFM/TDecimate a frame at that point (ffdshow didn't even produce one yet), but I guess simply handing it a blank frame is better than a crash... :)

Oh yeah, Haruhiko - that most probably was where your green frames came from...

I'm still hunting some other bug that messes up the last timestamp for static DVD menus if "Apply pulldown" is deactivated and causes the static image to not show up, but that should be it then.

np: Burnt Friedman & Jaki Liebezeit - Wirklich (Secret Rhythms)

_xxl
30th April 2007, 22:28
Please test my new builds.
http://rapidshare.com/files/28939785/ffdshow_rev1126_20070430.rar.html
I don't have a SSSE3 (Intel core2) cpu.I can't test if X264 is faster or not.

wozio
1st May 2007, 08:10
I'm still hunting some other bug that messes up the last timestamp for static DVD menus if "Apply pulldown" is deactivated and causes the static image to not show up, but that should be it then.
I also have problems with static dvd menus but I haven't had time to track why it occurs. In cyberlink decoder it plays fine. If something can be done with it it would be great. I noticed the same thing in dscaler5 decoder so seems this is libmpeg2 problem.

BTW when apply pulldown is deactivated in your patched version it behavies exactly the same as normal ffdshow, right?

Leak
1st May 2007, 09:31
I also have problems with static dvd menus but I haven't had time to track why it occurs. In cyberlink decoder it plays fine. If something can be done with it it would be great. I noticed the same thing in dscaler5 decoder so seems this is libmpeg2 problem.
Well, if the problem is that the menu image doesn't show up then yeah, that's it.

If the problem is that there's no highlights on static DVD menus, then that's something that needs to be fixed in the DVD subtitle part, probably by copying the last frame and overlaying the changed highlight on it - the problem is that during static DVD menus there's no new image being produced that a changed highlight could be overlaid on, which is what makes highlights work on animated menus.

BTW when apply pulldown is deactivated in your patched version it behavies exactly the same as normal ffdshow, right?
Not quite - you'll have to both deactivate "Apply pulldown" and set both buffer settings to 0.

wozio
1st May 2007, 12:09
When you mentioned it I tried and I have a lot of problems with dvd menus. First highlight doesn't show in animated menu, it shows after first button change. In static menus highlights don't show at all. And going back to menu from movie doesn't work, menu does not appear but works (I mean choosing button triggers correct action but it must be done blind).

I have ffdshow rev 1120 normal one.

Kado
1st May 2007, 13:03
@drevil_xxl
Used your rev1125 test build and GCC crashes as well on my Pentium D 930 and Windows XP.
SSE3 does not get used on my system when selected on the options and cannot test SSSE3 because my system does not support it.

EDIT
SSE3 is working, MPC must be reopened for changes to take effect, reopening the video is not enough!
EDIT/

Leak
1st May 2007, 14:29
When you mentioned it I tried and I have a lot of problems with dvd menus. First highlight doesn't show in animated menu, it shows after first button change.
Strange, it does for me...
In static menus highlights don't show at all.
Yeah, that's what I wrote above.
And going back to menu from movie doesn't work, menu does not appear but works (I mean choosing button triggers correct action but it must be done blind).
Which movie, if I may ask, and what player are you using?

I've found one situation where going back to the menu just plain doesn't work when using either MPC's internal MPEG2 decoder or ffdshow, and that would be when you're looking at a self-playing image gallery/slide show (as is often included as an extra on DVDs) and hit "title menu" right after the image has changed.

What I found was that the timestamp generated (by Microsoft's DVD navigator, I assume) for the menu image then is before the last timestamp generated for the still image, so the menu image isn't shown by the renderer - but that happens with MPC's internal MPEG2 decoder as well. Hitting "title menu" a second time helps in that case.

(To reproduce: watch a slide show, drop down the "Navigate" menu, and click on "Title menu" as soon as the image changes. Chances are that you won't be seeing the menu...)
I have ffdshow rev 1120 normal one.
So you were not using AviSynth filtering at all, if I'm reading this correctly?

np: Burnt Friedman - Conjoined (Plays Love Songs)

vio_man
1st May 2007, 15:23
Why there are more non-SSE compiled binaries? At free-codecs.com, the MMX optimized binaries are always updated, but the SSE ones are not. I have an Athlon XP 2500+ (Barton core) and it supports SSE.

Episode
1st May 2007, 15:41
free-codecs.com is not maintained by ffdshow-tryouts team. If you want to have bleeding edge builds, use www.ffdshow.info instead.

Also, it shouldn't matter whether the build is compiled with SSE or not since the code is already hand optimized for mmx, sse and sse2.

Leak
1st May 2007, 16:27
2 Bugfixes for my AviSynth patch:

* Fix crashes caused by still uninitialized buffer variables when AviSynth filter instances requested frames right after being created (TIVTC, I'm talking about you... :D)
* fix bogus timestamps right after flushing/seeking

Download (http://leak.no-ip.org/AviSynth/ffdshow/ffdshow_AviSynth_rev1126_20070501.exe)
Patch (https://sourceforge.net/tracker/index.php?func=detail&aid=1676882&group_id=173941&atid=867362) (against rev. 1126)

The filter should be feature complete now, but due to me hunting the above bugs the documentation is still to be written... :/

NB: That build contains drevil_xxl's SSE3 additions, so if anything is acting wonky try it with SSE3/SSSE3 on the "Info & debug" page disabled...

np: Pole - Streit (2)

Rectal Prolapse
1st May 2007, 16:49
Leak you are doing amazing work. Pretty soon we can dump NVIDIA and ATI decoders and use the deinterlacing solutions that actually work. :)

So I guess all that is left is making it work in HD resolutions ;)

Leak
1st May 2007, 16:50
So I guess all that is left is making it work in HD resolutions ;)
I'm afraid that needs to be solved by throwing more hardware (i.e. a beefier CPU) at it, although I'd love to solve it via a simple patch... ;)

np: Burnt Friedman & Jaki Liebezeit - The Librarian (ft. David Sylvian) (Secret Rhythms 2)

Piyoko
1st May 2007, 18:10
Thanks Leak, it's working nicely now!

There is already a fairly good mod of Dscaler5 aimed to do IVTC on HD (and SD) content, but unfortunately it only works for film, it's no good for anime (unless it was originally animated using cels, and those shows are few and far between now.)

Leak
1st May 2007, 18:26
There is already a fairly good mod of Dscaler5 aimed to do IVTC on HD (and SD) content, but unfortunately it only works for film, it's no good for anime (unless it was originally animated using cels, and those shows are few and far between now.)
How so?

The only problem with regard to anime I could think of would be that it discarded the first found duplicate instead of a frame of the longest duplicate chain, but that shouldn't be hard to add to said mod...

Or do you mean it's not handling hybrid (24/30 FPS) material well?

np: Pole - Raum 2 Variation (Kit Clayton) (R)

Piyoko
1st May 2007, 19:13
The detection algorithm was done to work with 24fps film and it simply doesn't work with the problematic cadence of digitally rendered anime. It's possible that it's an easy fix, but I'm not smart enough to figure something like that out. :p

Leak
1st May 2007, 21:11
Okay, I'm not going to tackle writing docs at this late an hour, but I had another idea - I guess I could pass the current aspect ratio into AviSynth as a global variable which is read back after the script has been compiled to get a new aspect ratio for the resulting images.

That way, a script could dynamically detect whether it's fed 4:3 or 16:9 video (as the script already gets recompiled when either the frame size or the aspect ratio changes) and adjust it's output... either size the images to 800x600 directly for 4:3 material or resize it to 852x480, crop off 26 pixels at the left and right and add a 60 pixel border above and below for 16:9 material, with a 4:3 output aspect ratio in any case - just the right size for my 800x600 projector... :D

(Yeah, it's a bit cumbersome to do stuff like that using the ternary "? :" operator in AviSynth, but it's doable...)

np: Atom - On the Edge of Fidelity (Replicant Rumba Rockers (remixed by Burnt Friedman))

wozio
1st May 2007, 22:14
Strange, it does for me...
Which movie, if I may ask, and what player are you using?
It occurs both in MPC and in my own app. In MPC I must move mouse for first button to be highlighted even when mouse pointer is on top of it. In my application, since it has only keyboard interface I must move to another button by arrow. On static menus no highlight is displayed.

I've found one situation where going back to the menu just plain doesn't work when using either MPC's internal MPEG2 decoder or ffdshow, and that would be when you're looking at a self-playing image gallery/slide show (as is often included as an extra on DVDs) and hit "title menu" right after the image has changed.
That looks to be fixed in your latest version, great.

So you were not using AviSynth filtering at all, if I'm reading this correctly?
I'm not using it since I don't need it.

Leak
1st May 2007, 22:34
It occurs both in MPC and in my own app. In MPC I must move mouse for first button to be highlighted even when mouse pointer is on top of it. In my application, since it has only keyboard interface I must move to another button by arrow. On static menus no highlight is displayed.
Hmmm... have you turned on the image queue? Maybe you're just noticing the lag it can produce when it buffers 10 frames ahead? Or maybe the DVD navigator has a different idea where the mouse hotspots are than what ffdshow has; but at least when using the keyboard (after setting menu keys up in MPC) the menu item changes almost instantly for me.

That looks to be fixed in your latest version, great.
Certainly not, as I've tested it several times and sure enough it happens... it's not caused by ffdshow, though, as it happens even when not using ffdshow - I just noticed that the generated timestamps I was getting were whack when I dumped them out while debugging...

np: Burnt Friedman & The Nu Dub Players - Real Abstraction (Canīt Cool)

foxyshadis
2nd May 2007, 01:13
Hmmm... have you turned on the image queue? Maybe you're just noticing the lag it can produce when it buffers 10 frames ahead? Or maybe the DVD navigator has a different idea where the mouse hotspots are than what ffdshow has; but at least when using the keyboard (after setting menu keys up in MPC) the menu item changes almost instantly for me.

Seen this happen pretty often; I think some dvd authors set it up for remote keys, test it that way, and never really think about mice on pcs. Same problems happen in powerdvd and windvd, or at least did several years ago, if they've implemented any workaround logic since. Mousing over everything looking for the hotspot can be quite frustrating sometimes (like certain old adventure games), to the point of just randomly trying titles looking for the main movie.

Delerue
2nd May 2007, 02:33
Hmmm... have you turned on the image queue? Maybe you're just noticing the lag it can produce when it buffers 10 frames ahead?

Using MPC I notice this lag when using FFDShow to decode DVD menus. Using the same MPC with internal MPEG2 filter doesn't show this problem. I'm not using queue.

wozio
2nd May 2007, 07:56
Hmmm... have you turned on the image queue? Maybe you're just noticing the lag it can produce when it buffers 10 frames ahead? Or maybe the DVD navigator has a different idea where the mouse hotspots are than what ffdshow has; but at least when using the keyboard (after setting menu keys up in MPC) the menu item changes almost instantly for me.
Yes they are changing instantly on animated menus, but first one isn't highlighted when menu appears. And I think mouse coords are ok since when I move mouse it is displayed properly. When using keyboard it should highlight first button anyway.

Maybe I can rip some menus where I have problem and send it to you to check.

Certainly not, as I've tested it several times and sure enough it happens... it's not caused by ffdshow, though, as it happens even when not using ffdshow - I just noticed that the generated timestamps I was getting were whack when I dumped them out while debugging...
For me I haven't had any problem using cyberlink, both using software and dxva mode.

Leak
2nd May 2007, 08:16
For me I haven't had any problem using cyberlink, both using software and dxva mode.
Well, I doubt Cyberlink is using Microsoft's DVD navigator, if that's what causes this - try looking at the DirectShow graph with graphedit and look if the "DVD Navigator" filter from quartz.dll is in there...

And for me, the first menu item ("PLAY") is always highlighted when the menu of my Ghost In The Shell: Stand Alone Complex vol. 1 DVD starts up...

wozio
2nd May 2007, 13:41
I mean only mpeg2 decoder from cyberlink, rest of graph exactly the same as when using ffdshow (dvd navigator from ms is used).

Anyway static menus doesn't work at all, something is wrong in ffdshow. Here is example ffdshow:

http://img300.imageshack.us/img300/9209/ffdshowzq1.jpg

cyberlink:

http://img486.imageshack.us/img486/4471/cyberlinkiu7.jpg

Probably when this will be fixed animated menus will fix also.

Leak
2nd May 2007, 14:00
something is wrong in ffdshow
Well, I guess I wrote this several times above, but let me reiterate:

* DVD menus are done via DVD subtitles
* ffdshow always overlays the current DVD subtitles on the frames it produces
* Static menus don't (continually) produce any frames after the first
* Thus, ffdshow has nothing to overlay changed subtitles/highlights on
* Maybe highlighting on animated menus doesn't work if it's there from the very first frame, but the animated menus I know where the first highlight appears once the menu has settled down definitely do work

ffdshow would need to buffer the last frame and produce new frames with new timestamps when the subtitles change, but it doesn't do that yet; and to be honest ffdshow's subtitle filter/handling is waaay over my head...

Leak
2nd May 2007, 20:11
*phew*

It only took me half of this afternoon, but I managed to craft a help page for my patch (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/AviSynth.htm)... :)

It's not hooked up inside ffdshow itself yet, so there's no new build to download, but could you guys please have a look at it (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/AviSynth.htm) and comment on it and suggest improvements?

:thanks:

np: Pole - Paula (1)

fastplayer
2nd May 2007, 20:47
...
It's not hooked up inside ffdshow itself yet, so there's no new build to download, but could you guys please have a look at it (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/AviSynth.htm) and comment on it and suggest improvements?...
:thanks:
Now I know what AviSynth actually is... *me blushes, runs away, and hides*

Edit: If you still have the nerves you could replace the ampersands & in the URLs with &. That should make it XHTML-compliant. Thanks!

Leak
2nd May 2007, 21:01
Edit: If you still have the nerves you could replace the ampersands & in the URLs with &. That should make it XHTML-compliant. Thanks!
Eeep... did I mention that I write webapps for a living? >_<

Fixed.

I guess the other pages could have some SPAN-tags removed - what's the use of nesting a <SPAN> directly inside a <P>aragraph only to set a CSS class for the text? (I'd say that the headings should use <H>-tags for WCAG-compliance, but I doubt people who install ffdshow and AviSynth are using a screenreader at the same time - stranger things have happened, though...)

np: Atom - All Notes Off (Replicant Rumba Rockers (remixed by Burnt Friedman))

fastplayer
2nd May 2007, 22:41
I guess the other pages could have some SPAN-tags removed - what's the use of nesting a <SPAN> directly inside a <P>aragraph only to set a CSS class for the text?
Bad habits... I'll look into it.

Px
3rd May 2007, 00:11
Please test my new builds.
http://rapidshare.com/files/28939785/ffdshow_rev1126_20070430.rar.html
I don't have a SSSE3 (Intel core2) cpu.I can't test if X264 is faster or not.
Video - Sin_City_x264_720p.mkv, null render

1090-clsid
User: 39s, kernel: 0s, total: 39s, real: 39s, fps: 51.1, dfps: 50.5
1125-clsid
User: 37s, kernel: 0s, total: 37s, real: 38s, fps: 52.8, dfps: 51.9
1126-gcc
User: 37s, kernel: 0s, total: 37s, real: 38s, fps: 52.8, dfps: 51.9
1126-msvc2003
User: 37s, kernel: 0s, total: 37s, real: 38s, fps: 52.8, dfps: 52.1
1126-msvc2005
User: 37s, kernel: 0s, total: 37s, real: 38s, fps: 52.9, dfps: 52.2
1126-gcc
http://users.i.com.ua/~finish/ffdshow/1126-gcc.png
1126-msvc2003/2005
http://users.i.com.ua/~finish/ffdshow/1126-msvc.png

jidelite
3rd May 2007, 02:01
Leak, Again, I applaud you for the excellent progress you have made. My concern with your latest patched version is where you can ‘disable buffering’ – on my system it appears I cannot disable buffering when I uncheck "Apply pulldown" and set ahead and back buffers to 0 (or maybe I am but you are doing something with the frame(s) besides just spitting them out). I have used those clips that the frame duration changes from 41 ms to 33 ms as viewed on the OSD (the ones from Video Essentials and Blood Diamond) as my “torture test” for your patch and my video still stutters/freezes for a couple of sec. at the point were the frame duration changes. I have noticed that my P4 3.0 Ghz usually runs around 50-65% with my filters but at the frame duration changes it's pushed to 100% (from the OSD) which is why I probably see a longer pause. I understand that these frame duration changes can be common (be it a bad it or whatever) but they do not always go unnoticed with your patch; whereas with every unpatched version of ffdshow these same frame duration changes play fine. Now, I don’t sit and look at frame durations counts when I watch a movie but I know a pause when I see one and the only change I’ve made was to uninstall one unpatched version of ffdshow and installed your patched version. In fact, I’ve done this over and over with the same results.

Again, I’m just using ffdshow/Avisynth scripts for realtime viewing of R1 DVDs. I use TheaterTek software player and I want to sharpen my picture a little so I use the SeeSaw or LimitedSharpenFaster filter – that’s it. So far, I haven’t seen anyone else say they are experiencing a slight freezing/pausing with frame duration changes with your patch so by all means, dismiss this as a ‘user error/problem’. I guess I will continue to test and see what happens once your patch is incorporated in the ffdshow builds…

Thanks,
jidelite

haruhiko_yamagata
3rd May 2007, 04:36
*phew*

It only took me half of this afternoon, but I managed to craft a help page for my patch (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/AviSynth.htm)... :)
Great, your document is very clear and easy to read.
:thanks:

foxyshadis
3rd May 2007, 07:57
With the blood diamond test, I see a lot of weirdness whenever Haali's is used as the splitter, framerate is halved even though timestamps are correct, and occasional non-reproduceable freezes with the MS dvd navigator and a few other splitters at 0:19, but not the internal one (so far). Since it lasts such a short time, trying to break in at the right moment has been impossible, though setting some condition might work better.

Also, great guide, but I keep trying to click on the checkboxes. :p

Leak
3rd May 2007, 08:15
With the blood diamond test, I see a lot of weirdness whenever Haali's is used as the splitter, framerate is halved even though timestamps are correct, and occasional non-reproduceable freezes with the MS dvd navigator and a few other splitters at 0:19, but not the internal one (so far). Since it lasts such a short time, trying to break in at the right moment has been impossible, though setting some condition might work better.
Hmmm... would that be with AviSynth filtering or without?

For the record - I'm using Gabest's MPEG splitter, and the file plays through normally for me, whether I use TIVTC or not...

Leak
3rd May 2007, 08:24
Leak, Again, I applaud you for the excellent progress you have made.
Thanks. :)

My concern with your latest patched version is where you can ‘disable buffering’ – on my system it appears I cannot disable buffering when I uncheck "Apply pulldown" and set ahead and back buffers to 0 (or maybe I am but you are doing something with the frame(s) besides just spitting them out).
Hmmm... could you try the following?

* Download DebugView from Microsoft (http://www.microsoft.com/technet/sysinternals/Miscellaneous/DebugView.mspx)

* Run DebugView, go to "Edit > Filter/Highlight..." and enter "TimgFilterAvisynth:" (sans quotes) in the "Include:" box, then hit OK and probably minimize it so it won't take much extra time scrolling the output across the screen

* Add "#debug" as the very first line of your AviSynth script

* Open your media player, play the material you're having problems with until you get past one of those stutters or two

* Save the output of DebugView to a file and mail it to leak (at) gmx (dot) at

That should give us some clues as to what's happening.

I have noticed that my P4 3.0 Ghz usually runs around 50-65% with my filters but at the frame duration changes it's pushed to 100% (from the OSD) which is why I probably see a longer pause.
What happens if you strip down your script to where it doesn't use as much CPU? Could you perhaps try that?

Still, even when the timestamps fluctuate a bit the AviSynth filter shouldn't do anything special, it'll just produce similar timestamp fluctuations in the output, but it won't treat the frame any different than others or reset all buffers or anything.

By the way, what video renderer are you using?

Again, I’m just using ffdshow/Avisynth scripts for realtime viewing of R1 DVDs. I use TheaterTek software player and I want to sharpen my picture a little so I use the SeeSaw or LimitedSharpenFaster filter – that’s it.
Okay, so I don't have that player and really don't want to buy it, so could you perhaps try this in Media Player Classic (http://forum.doom9.org/showthread.php?p=975082#post975082) as well? And, in case you're using the nVidia MPEG decoder that seems to come with TheaterTek, could you please use ffdshow's MPEG2 decoder instead?

I'm pretty sure AviSynth filtering works perfectly with ffdshow's built-in MPEG2 decoder, but I really can't vouch for other decoders...

foxyshadis
3rd May 2007, 08:32
Hmmm... would that be with AviSynth filtering or without?

For the record - I'm using Gabest's MPEG splitter, and the file plays through normally for me, whether I use TIVTC or not...

With avisynth, sorry. Tested with other combinations of apply pulldown, different filters, etc, but changing the splitter was the only thing that ever seems to cause a hiccup.

btw, this is what shows in the debug console when it happens:

[2948] TimgFilterAvisynth: Requesting frame 42 from Avisynth
[2948] TimgFilterAvisynth: Looked up frame 42, using frame 42
[2948] TimgFilterAvisynth: Frame 42: 0 back, 0 ahead; requested 42
[2948] TimgFilterAvisynth: Delivering frame 42; 2285.616100 - 2335.666000 = 50.049900
[2948] TimgFilterAvisynth: onFlush
[2948] TffdshowDecVideoOutputPin:: DeliverBeginFlush
[2948] TffdshowDecVideoOutputPin:: DeliverEndFlush
[2948] TimgFilterAvisynth: (Re-)Initializing buffers
[2948] TimgFilterAvisynth: Passing through frame 43, 2335.666000 - 2369.032600 = 33.366600
[2948] TimgFilterAvisynth: Requesting frame 43 from Avisynth
[2948] TimgFilterAvisynth: Looked up frame 43, using frame 43
[2948] TimgFilterAvisynth: Frame 43: 0 back, 0 ahead; requested 43
[2948] TimgFilterAvisynth: Delivering frame 43; 2335.666000 - 2369.032600 = 33.366600
[2948] TimgFilterAvisynth: Passing through frame 44, 2369.032600 - 2419.082500 = 50.049900



I'm stupid, I should have noticed this correlation earlier, ever .5-1s hang has one of these pairs.

By using something called the "Universal Open Source MPEG Splitter" I can regularly make it happen at 0:04 and 0:19.

_xxl
3rd May 2007, 08:38
x264 is an encoder.Use virtualdub and see if 1126 is faster.ffdshow.ax compiled by MinGW GCC can't detect (S)SSE3.Please use MSVC builds.