View Full Version : Purevideo confusion
CiNcH
8th November 2008, 09:33
I have tried it with the DVBViewer Pro on ProSieben (576i) and Anixe HD (1080i) where Yadif (double framerate) is quite a killer of course. I am using VMR9 in YUV mode. Could not experience a problem yet. Picture was updated in under 1 sec without a glitch. I tried to move the window a dozen times between my Samsung T220 (1680x1050@75Hz) and my Sanyo PLV-Z4 projector (720p50). Using the extended Desktop with my ATi Radeon HD 3650.
Also tried it with file playback..
haruhiko_yamagata
8th November 2008, 10:51
My video card is Geforce 7900GS.
It freezes before I use ffdshow...
CiNcH
8th November 2008, 10:52
It freezes before I use ffdshow...
Don't understand what you mean by that..
Leak
8th November 2008, 12:13
Don't understand what you mean by that..
I'd guess he meant "It freezes without even using ffdshow"...
np: Vladislav Delay - Korpikansa ((No)Huume)
CiNcH
8th November 2008, 12:26
Well, to be honest, the whole VMR Windowless and rendering OSD on the second input pin thing is quite a mess with so many MS and nVIDIA/ATi bugs...
Sooner or later the Renderengine will be moved to Custom Presenters. Here (http://www.digital-everywhere.com/en/alcms/file/setup/081020_firedtv_beta-setup_5_2_n.zip) you can download the FireDTV Viewer which is a very slim DVBViewer Pro but already includes an own DirectX based video renderer and also a VMR custom presenter.
haruhiko_yamagata
8th November 2008, 13:04
Sorry for my poor English.
What does DVBSource do when the window is move to another screen?
CiNcH
8th November 2008, 14:04
Don't think that DVBSource does anything. Dunno how VMR handles that...
BTW, ffdshow-mt still crashes with 720p when format detection and pin propagation is disabled.
LoRd_MuldeR
8th November 2008, 15:02
I bought DVBViewer.
:eek:
It always freezes if I move the window to another screen if I use VMR7 [...] It freezes after a few tries, if I use VMR9.
Could you also try the "Video Mixing Renderer" aka "Unchanged" and see what happens?
Do you still think yadif is related?
Does the file matter? if yes, please send me the sample.
At least I think that internal ffdshow Yadif does trigger the problem.
I said it before, but: As long as I don't enable the internal Yadif filter, I can move the window between my two screens just fine.
It will "freeze" for ~2 seconds and then recover. I can do it many times. No problem.
Whatever the problem is, it only occurs with internal Yadif, not Avisynth one. So 50 fps output cannot be the problem either :confused:
haruhiko_yamagata
9th November 2008, 01:41
Don't think that DVBSource does anything. Dunno how VMR handles that...
But I'm sure that IPin::NewsSgment is called from DVBSource.
DVBSource must be doing something in response to some API calls or events that VMR creates.
BTW, ffdshow-mt still crashes with 720p when format detection and pin propagation is disabled.Please wait until next update is applied to ffdshow.
If it does not fix the problem, please tell me what does DVBSource set in the media type.
haruhiko_yamagata
9th November 2008, 07:46
I have tried FireDTVViewer. No freezes with yadif on or off.
Off topic,
It crashes after several tries (moving window from screen to screen).
I'm sure that ffdshow is not responsible for the crash.
premire-paff.ts + CoreAVC or ffdshow.
CiNcH
9th November 2008, 12:32
DVBSource must be doing something in response to some API calls or events that VMR creates.
Actually, the application window receives an event (WM_DISPLAYCHANGE (http://msdn.microsoft.com/en-us/library/ms534847(VS.85).aspx)) in case of a display change which is then handed over to the VMR7/9 Windowless renderers (http://msdn.microsoft.com/en-us/library/ms787147(VS.85).aspx).
haruhiko_yamagata
9th November 2008, 12:40
Thank you for the info.
And then DVBSource calls IPin::NewSegment?
Could you set break point where DVBSource can call IPin::NewSegment on downstream and see what happens?
Of course if you have time.
CiNcH
9th November 2008, 13:07
And then DVBSource calls IPin::NewSegment?
DVBSource calls DeliverNewSegment when graph is reran after being stopped. Seems like the FilterGraph Manager triggers a stop/run graph to reconnect the renderer when display changes.
DeliverNewSegment has been added because some ffdshow versions, when being used as MPEG-2 decoder, got confused with timestamps after Stop -> Run without it. Other decoders do not need that.
haruhiko_yamagata
9th November 2008, 13:38
Thanks, that's what I wanted to know.
CiNcH
9th November 2008, 14:10
And BTW, there are quite some things in the making concerning DirectShow (http://www.dvbviewer.info/forum/index.php?showtopic=27719&view=findpost&p=212817). The betas were taken offline but stay tuned ;) .
haruhiko_yamagata
13th November 2008, 10:08
DVBSource calls DeliverNewSegment when graph is reran after being stopped. Seems like the FilterGraph Manager triggers a stop/run graph to reconnect the renderer when display changes.
DeliverNewSegment has been added because some ffdshow versions, when being used as MPEG-2 decoder, got confused with timestamps after Stop -> Run without it. Other decoders do not need that.Thank your for your help, I have fixed at rev 2315.
I remember we have fixed the problem from both sides in the last year.
However, both fixes were incomplete.
I forgot to call imgFilters->onSeek().
DVBSource still does not seem to call NewSegment in this case.
LoRd_MuldeR
13th November 2008, 15:59
Good work! http://www.soadfans.de/forum/images/armageddon/smilies/winken.gif
CiNcH
15th November 2008, 15:07
I forgot to call imgFilters->onSeek().
DVBSource still does not seem to call NewSegment in this case.
This is not likely to be changed. In case of seeking, the DVBViewer itself is made responsible for stopping the graph, changing file position, and finally rerunning the graph. DVBSource is not aware of DirectShow seeking mechanisms.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.