Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > New and alternative video codecs

Reply
 
Thread Tools Search this Thread Display Modes
Old 4th May 2007, 01:37   #1161  |  Link
foxyshadis
ангел смерти
 
foxyshadis's Avatar
 
Join Date: Nov 2004
Location: Lost
Posts: 9,558
Okay, not quite so confused anymore. The faulty splitter I was using was v1.000 of gabest's, from mid-2004, whereas the current and built-in are 1.003, where the sync problem is fixed. Not sure why MS DVD Nav. only trips over it occasionally, instead of always, but it is in the same spots.

Don't use Haali's, btw, wait a few more versions. The MPEG-PS code isn't working very well right now, in fact it works better on .evo than .vob.
foxyshadis is offline   Reply With Quote
Old 4th May 2007, 03:09   #1162  |  Link
jidelite
Registered User
 
Join Date: Dec 2004
Location: Richmond, VA
Posts: 27
Quote:
Originally Posted by Leak View Post
Thanks.


Hmmm... could you try the following?

* Download DebugView from Microsoft

* 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.
Ok. DebugView file are on their way. Still working on MPC and trying to use ffdshow's MPEG2 decoder in TheaterTek.

foxyshadis, for looking into this as well...

jidelite

Last edited by jidelite; 4th May 2007 at 03:15.
jidelite is offline   Reply With Quote
Old 4th May 2007, 03:34   #1163  |  Link
haruhiko_yamagata
Registered User
 
Join Date: Feb 2006
Location: Japan
Posts: 1,560
Quote:
Originally Posted by chros View Post
@haruhiko_yamagata: I don't want to hurry you, but when will be merged the DFX multichannel patch?

Thank you for your effort ...
I have been building a new PC and developing environment. Now it's mostly done, please wait a bit more.
__________________
[ Download ffdshow | Wiki ]
haruhiko_yamagata is offline   Reply With Quote
Old 4th May 2007, 08:17   #1164  |  Link
Leak
ffdshow/AviSynth wrangler
 
Leak's Avatar
 
Join Date: Feb 2003
Location: Austria
Posts: 2,441
Quote:
Originally Posted by jidelite View Post
Ok. DebugView file are on their way. Still working on MPC and trying to use ffdshow's MPEG2 decoder in TheaterTek.

foxyshadis, for looking into this as well...
Well, looking at your log files I can see that the DirectShow graph was stopped and restarted several times; if it wasn't you hitting "Stop" and "Play" repeatedly then I'm afraid it was your player software causing those stutters, since I'm re-initializing the AviSynth script after a full stop.

Why it would stop the DirectShow graph during playback is really beyond me, though...
__________________
now playing: [artist] - [track] ([album])
Leak is offline   Reply With Quote
Old 4th May 2007, 09:38   #1165  |  Link
zambelli
Doom9ing since 2001
 
zambelli's Avatar
 
Join Date: Oct 2001
Location: Seattle, WA, USA
Posts: 2,002
Have the YV12 raw decoding issues been addressed in recent builds? The Beta2 still has issues handling YV12 video and rendering it to VMR7/9 in both DShow and VfW.
zambelli is offline   Reply With Quote
Old 4th May 2007, 10:56   #1166  |  Link
chros
Registered User
 
chros's Avatar
 
Join Date: Mar 2002
Posts: 2,323
Quote:
Originally Posted by haruhiko_yamagata View Post
I have been building a new PC and developing environment. Now it's mostly done, please wait a bit more.
Thank you very much!
chros is offline   Reply With Quote
Old 4th May 2007, 12:55   #1167  |  Link
jidelite
Registered User
 
Join Date: Dec 2004
Location: Richmond, VA
Posts: 27
Quote:
Originally Posted by Leak View Post
Well, looking at your log files I can see that the DirectShow graph was stopped and restarted several times; if it wasn't you hitting "Stop" and "Play" repeatedly then I'm afraid it was your player software causing those stutters, since I'm re-initializing the AviSynth script after a full stop.

Why it would stop the DirectShow graph during playback is really beyond me, though...
Hmmm... Sounds like I'm back to square 1 since I didn't hit stop or play during playback. I'm sure you see from the logs that I always have a problem when the frame duration changes from 41 ms to 33 ms - even when buffering is off so my script is not behaving like unpatched versions of ffdshow on my PC. As you pointed out, TheaterTek uses the nvidia decoder so I will see if I can get MPC to use the same decoder when I get a chance to play with it this weekend.

Thanks,
jidelite
jidelite is offline   Reply With Quote
Old 4th May 2007, 13:15   #1168  |  Link
Leak
ffdshow/AviSynth wrangler
 
Leak's Avatar
 
Join Date: Feb 2003
Location: Austria
Posts: 2,441
Quote:
Originally Posted by jidelite View Post
Hmmm... Sounds like I'm back to square 1 since I didn't hit stop or play during playback. I'm sure you see from the logs that I always have a problem when the frame duration changes from 41 ms to 33 ms - even when buffering is off so my script is not behaving like unpatched versions of ffdshow on my PC.
Okay, so looking at the old code again shows that ffdshow didn't do anything special when the graph was stopped (it only reinitialized AviSynth when the frame size changed), but this really isn't an option anymore, since I have to get rid of the buffered frames somehow... playing the last few frames buffered when the stop came when it gets restarted again is simply wrong.

I could make AviSynth seek forward instead of totally resetting it, but I rather like the idea of getting everything back into a working state by hitting "Stop", followed by "Play".

I could add that as an option, though... "Reset on stop" or something. But still, it's idiotic for the graph to be stopped then restarted in the middle of playback if the user did not do anything...
__________________
now playing: [artist] - [track] ([album])
Leak is offline   Reply With Quote
Old 4th May 2007, 15:00   #1169  |  Link
jidelite
Registered User
 
Join Date: Dec 2004
Location: Richmond, VA
Posts: 27
Quote:
Originally Posted by Leak View Post
Okay, so looking at the old code again shows that ffdshow didn't do anything special when the graph was stopped (it only reinitialized AviSynth when the frame size changed), but this really isn't an option anymore, since I have to get rid of the buffered frames somehow... playing the last few frames buffered when the stop came when it gets restarted again is simply wrong.

I could make AviSynth seek forward instead of totally resetting it, but I rather like the idea of getting everything back into a working state by hitting "Stop", followed by "Play".

I could add that as an option, though... "Reset on stop" or something. But still, it's idiotic for the graph to be stopped then restarted in the middle of playback if the user did not do anything...
Forgive me if this sounds far-fetched & simplistic since I'm not a ffdshow coder (believe me, I have great respect for you guys that maintain this code) but as a compromise if I set the parms to disable buffering, can you disgard the initial buffers the way you normally do and then not buffer anymore (just reinitialized AviSynth like the old code) since you now know its turned off?

jidelite
jidelite is offline   Reply With Quote
Old 4th May 2007, 15:54   #1170  |  Link
Leak
ffdshow/AviSynth wrangler
 
Leak's Avatar
 
Join Date: Feb 2003
Location: Austria
Posts: 2,441
Quote:
Originally Posted by jidelite View Post
Forgive me if this sounds far-fetched & simplistic since I'm not a ffdshow coder (believe me, I have great respect for you guys that maintain this code) but as a compromise if I set the parms to disable buffering, can you disgard the initial buffers the way you normally do and then not buffer anymore (just reinitialized AviSynth like the old code) since you now know its turned off?
I think you meant "if buffering is turned off, could you skip resetting AviSynth like it was done previously", right?

Sure, why not? But I guess I'll just skip the total reset on stop anyway, and simply skip ahead to lose the buffered frames like I do when the DirectShow graph is flushed - after all, a fix that only works if you cripple the filter (by turning off buffering) isn't much of a fix.

You'll just have to edit the AviSynth script to totally reset AviSynth, then, or toggle the filter off and on via the tray menu or a hotkey...
__________________
now playing: [artist] - [track] ([album])

Last edited by Leak; 4th May 2007 at 15:58.
Leak is offline   Reply With Quote
Old 4th May 2007, 18:04   #1171  |  Link
clsid
*****
 
Join Date: Feb 2005
Posts: 5,642
Quote:
Originally Posted by zambelli View Post
Have the YV12 raw decoding issues been addressed in recent builds? The Beta2 still has issues handling YV12 video and rendering it to VMR7/9 in both DShow and VfW.
I haven't seen a fix for that mentioned in the SVN logs. So I think they are still present.
__________________
MPC-HC 2.1.7.2
clsid is offline   Reply With Quote
Old 4th May 2007, 18:34   #1172  |  Link
Kado
Otaku
 
Kado's Avatar
 
Join Date: Sep 2006
Location: Portugal
Posts: 576
Quote:
Originally Posted by h_yamagata
Revision 1130
Winamp plugin: multichannel processing
A new check box "Allow multichannel audio processing" can be configured for every plugins.
Great haruhiko! Now just have to wait for another nightly build by drevil_xxl or clsid to test it.
Kado is offline   Reply With Quote
Old 4th May 2007, 21:26   #1173  |  Link
zambelli
Doom9ing since 2001
 
zambelli's Avatar
 
Join Date: Oct 2001
Location: Seattle, WA, USA
Posts: 2,002
Quote:
Originally Posted by clsid View Post
I haven't seen a fix for that mentioned in the SVN logs. So I think they are still present.
I'm surprised that bug is not a higher priority, given that Ffdshow is commonly used as the codec for handling YV12 video.
zambelli is offline   Reply With Quote
Old 4th May 2007, 22:58   #1174  |  Link
clsid
*****
 
Join Date: Feb 2005
Posts: 5,642
How to reproduce the YV12 bugs?

I tried forcing YV12 output in the Xvid decoder. However ffdshow (placed after Xvid in graph) reports the input as IYUV.
__________________
MPC-HC 2.1.7.2
clsid is offline   Reply With Quote
Old 5th May 2007, 03:01   #1175  |  Link
jidelite
Registered User
 
Join Date: Dec 2004
Location: Richmond, VA
Posts: 27
Quote:
Originally Posted by Leak View Post
I think you meant "if buffering is turned off, could you skip resetting AviSynth like it was done previously", right?

Sure, why not? But I guess I'll just skip the total reset on stop anyway, and simply skip ahead to lose the buffered frames like I do when the DirectShow graph is flushed - after all, a fix that only works if you cripple the filter (by turning off buffering) isn't much of a fix.

You'll just have to edit the AviSynth script to totally reset AviSynth, then, or toggle the filter off and on via the tray menu or a hotkey...
Leak, Got around to configuring MPC to play my Video Essentials clip. All things being equal (& buffering off), I ran the clip through the internal MPEG-2 Decoder and then the Nvidia Video decoder that came with TheaterTek (nvviddec.ax: 4020.223.0.0). Interesting thing is the internal MPEG-2 Decoder played the clip perfect while the Nvidia Decoder paused/stuttered on the frame duration change as always. Taking a snapshot from the DebugView log of the same clip played by MPC, the decoders produced the attached output.

For sure, the frame durations from the decoders are handled differently. To be fare, the pause/stuttering from the Nvidia decoder hasn't happen a whole lot during my regular viewing of movies so far (I think I counted 2) but who knows how many other DVDs are out there where the decoder screws up on a frame duration change with your patch. I still wish others could confirm what I see since I know there are alot of Nvidia video decoder users out there ...


jidelite
Attached Files
File Type: txt Video_Essential_clip_NVIDIA_Debug.txt (38.5 KB, 68 views)
File Type: txt Video_Essential_clip_MPEG2_Debug.txt (35.2 KB, 73 views)
jidelite is offline   Reply With Quote
Old 5th May 2007, 03:24   #1176  |  Link
foxyshadis
ангел смерти
 
foxyshadis's Avatar
 
Join Date: Nov 2004
Location: Lost
Posts: 9,558
I'm beginning to wonder if these segments are concatenated together from separate encodes with wildly different timestamps, which I hear happens quite a bit when people copy /b the encodes. It's concievable that the studio did it in segments. Too bad I don't have any of neuron2's tools. Well, that's not quite true, I might have something.

The solution might be to simply keep a blacklist of filters that cause spectacular failures in avisynth.
foxyshadis is offline   Reply With Quote
Old 5th May 2007, 04:55   #1177  |  Link
zambelli
Doom9ing since 2001
 
zambelli's Avatar
 
Join Date: Oct 2001
Location: Seattle, WA, USA
Posts: 2,002
Quote:
Originally Posted by clsid View Post
How to reproduce the YV12 bugs?
I tried forcing YV12 output in the Xvid decoder. However ffdshow (placed after Xvid in graph) reports the input as IYUV.
Check out:
http://forum.doom9.org/showthread.ph...974#post970974
http://forum.doom9.org/showthread.ph...655#post973655

A simple Avisynth script can be used to repro:
Code:
ColorBars(320, 240, "YV12")
Disable all raw video codec handling in Video Decoder Configuration.
Enable "All YUV" raw video codec handling in VfW configuration.

Drop the test .avs script into GraphEdit. Render with the default VMR7. Check the renderer input pin properties for input format. Stop the graph, remove the video renderer and replace it with VMR9. Render the video again and check the VMR input pin properties again.

Now enable "All YUV" raw video handling in the Dshow Video Decoder Configuration and repeat the same repro steps.

Getting the decoder to render YV12 doesn't seem to work, and there seem to be some mirroring issues with the VfW component.
zambelli is offline   Reply With Quote
Old 5th May 2007, 10:00   #1178  |  Link
WorBry
Registered User
 
Join Date: Jan 2004
Location: Here, there and everywhere
Posts: 1,197
Fizicks AVISynth port of the MPlayer deinterlace filter, Yadif, is creating quite a buzz.

http://forum.doom9.org/showthread.ph...472#post999472

Any chance of incorporating it in the FFDShow decoder deinterlace options, ideally with an option for double-rate (bobbed) output?
WorBry is offline   Reply With Quote
Old 5th May 2007, 11:17   #1179  |  Link
Leak
ffdshow/AviSynth wrangler
 
Leak's Avatar
 
Join Date: Feb 2003
Location: Austria
Posts: 2,441
Quote:
Originally Posted by foxyshadis View Post
The solution might be to simply keep a blacklist of filters that cause spectacular failures in avisynth.
Nah... like I said, I'll just skip resetting AviSynth on a stop and just make it flush all buffers like I do on a seek or flush. That'll still cause some jerkiness and/or dropped frames (and that's why I'll recommend using ffdshow for MPEG2 decoding), but it won't be that much of a pause.

If you really need to reset AviSynth for some reason (which should be rather seldom), just define a hotkey for enabling/disabling the AviSynth filter and hit it twice in a row, or change the script.

I'm afraid I probably won't be able to work on it before tomorrow, though.

Also, the pulldown handling really needs 3 options, like in DGIndex: "Honor flags" (like it does now when it's checked, to get out 30 FPS material), "Force film" (which is missing currently, to get out 24 FPS material with correct timestamps) and "Ignore flags" (like it does now when it's unchecked).

Without that "force film" option, you can't really use filters that add or remove frames (like a bobber) on almost-correctly flagged progressive material which you don't want to IVTC yourself. Shouldn't be hard to add, though - I just need to correct the timestamps a bit so they don't alternate between 33 and 50 ms.

np: Pole - Strand (3)
__________________
now playing: [artist] - [track] ([album])
Leak is offline   Reply With Quote
Old 5th May 2007, 15:02   #1180  |  Link
haruhiko_yamagata
Registered User
 
Join Date: Feb 2006
Location: Japan
Posts: 1,560
Quote:
Originally Posted by zambelli View Post
Check out:
http://forum.doom9.org/showthread.ph...974#post970974
http://forum.doom9.org/showthread.ph...655#post973655

A simple Avisynth script can be used to repro:
Code:
ColorBars(320, 240, "YV12")
Disable all raw video codec handling in Video Decoder Configuration.
Enable "All YUV" raw video codec handling in VfW configuration.

Drop the test .avs script into GraphEdit. Render with the default VMR7. Check the renderer input pin properties for input format. Stop the graph, remove the video renderer and replace it with VMR9. Render the video again and check the VMR input pin properties again.

Now enable "All YUV" raw video handling in the Dshow Video Decoder Configuration and repeat the same repro steps.

Getting the decoder to render YV12 doesn't seem to work, and there seem to be some mirroring issues with the VfW component.
Now I'm looking this issue. I can reproduce the flip issue.
As for YV12->YUY2 conversion, when ffdshow is wrapped by AviDecompresser (i.e. vfw codecs are used in a DirectShow filter graph), it appears that AviDecompresser doesn't want YV12 output. Do you have any vfw codecs that output YV12 from AviDecompresser's output pin? If nobody have such codecs, it's not a ffdshow's bug.
__________________
[ Download ffdshow | Wiki ]
haruhiko_yamagata is offline   Reply With Quote
Reply

Tags
ffdshow, ffdshow tryouts, ffdshow-mt, ffplay, icl

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 15:32.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.