Log in

View Full Version : Experimental player that eliminates judder


Pages : [1] 2 3

ar-jar
30th March 2009, 11:41
I'd appreciate feedback on my experimental DirectShow player for Windows, the GothPlayer, which synchronizes the display refresh rate to the frame rate of the incoming video thereby eliminating what is commonly known as "pan judder". This works both for local stream sources such as DVD and live sources such as TV. The player includes a simple test image generator to adjust and check judder, overscan, contrast and brightness.

The player today only works with certain graphics boards and certain displays:

The graphics boards supported by the player are those which are fully supported by PowerStrip (see http://forums.entechtaiwan.com/index.php?PHPSESSID=b6f62676690df26c25d2ca52eed6ebbf&topic=2036.0). I have tested it with a number of NVidia boards and one ATI board. Unfortunately NVidia 8000-series and up are not currently supported by PowerStrip.

The display must accept HDTV timing and should typically be a flatscreen TV or a projector. It does not work with regular computer displays without HDTV mode. I have tested the player with four different displays (3 LCDs, 1 projector) that have all worked. The only way to find out whether it works for your display is to run a simple test as described on the site referred to below.

With the right components and some initial adjustment, the player produces a very smooth and tear-free video playback on an HTPC. I (and my technology-savvy kids) have been using it for all our movie watching for more than a year.

More info and downloads can be found here (binaries and source): http://www.ostrogothia.com/video/?page_id=5. But remember: it's experimental :-)

totozero
30th March 2009, 22:23
Oh my...
Thx a lot, gonna check it right now !!!

C'ya.

Casshern
31st March 2009, 09:22
Great work! Very promising. Would it be asking to much integrating your renderer into MPC HC. Beliyaal did a great job updating the old renderers (vmr9, evr cp) to be state-of-the art in handling the vsync. But your idea tackles the problem from the root-cause. Please look in the MPC HC dxva beliyaal thread - and just contact him! This would be the ultimate addition to the renderer options in MPC HC. And MPC HC does playback the subtitles from m2ts files - so one thing less for you to worry about!

I'd appreciate feedback on my experimental DirectShow player for Windows, the GothPlayer, which synchronizes the display refresh rate to the frame rate of the incoming video thereby eliminating what is commonly known as "pan judder". This works both for local stream sources such as DVD and live sources such as TV. The player includes a simple test image generator to adjust and check judder, overscan, contrast and brightness.

The player today only works with certain graphics boards and certain displays:

The graphics boards supported by the player are those which are fully supported by PowerStrip (see http://forums.entechtaiwan.com/index.php?PHPSESSID=b6f62676690df26c25d2ca52eed6ebbf&topic=2036.0). I have tested it with a number of NVidia boards and one ATI board. Unfortunately NVidia 8000-series and up are not currently supported by PowerStrip.

The display must accept HDTV timing and should typically be a flatscreen TV or a projector. It does not work with regular computer displays without HDTV mode. I have tested the player with four different displays (3 LCDs, 1 projector) that have all worked. The only way to find out whether it works for your display is to run a simple test as described on the site referred to below.

With the right components and some initial adjustment, the player produces a very smooth and tear-free video playback on an HTPC. I (and my technology-savvy kids) have been using it for all our movie watching for more than a year.

More info and downloads can be found here (binaries and source): http://www.ostrogothia.com/video/?page_id=5. But remember: it's experimental :-)

Peuj
31st March 2009, 09:37
Great work! Very promising. Would it be asking to much integrating your renderer into MPC HC. Beliyaal did a great job updating the old renderers (vmr9, evr cp) to be state-of-the art in handling the vsync. But your idea tackles the problem from the root-cause. Please look in the MPC HC dxva beliyaal thread - and just contact him! This would be the ultimate addition to the renderer options in MPC HC. And MPC HC does playback the subtitles from m2ts files - so one thing less for you to worry about!

Exactly what I think you should work with MPC HC team.

Nice work!!

smok3
31st March 2009, 11:27
cool stuff, shame it is such a pain to setup really :/

ar-jar
31st March 2009, 12:09
Thanks for the encouragement! I'll check into the MPC HC project. I haven't really put much effort into my player as you already figured out. The main component is the renderer. As it is implemented now it indeed requires some integration in the player too. (I have forgotten exactly why now but I remember that I went to great lengths trying to avoid the extra non-standard interface. It has something with exclusive mode and reset of the graphics device to do.) The renderer aggregates VMR9 so it implements DXVA etc.

ar-jar
31st March 2009, 12:22
cool stuff, shame it is such a pain to setup really :/

Yes, I know, it's really a "proof of concept" if anything (but it works for me). I have ideas as to how everything could be made easier and more automatic but that would require support for adjusting the parameters through the graphics driver. Maybe it's implemented in NVidias NVAPI but it's very hard to get in touch with NVidia to get the NDA that seems to be required to access the more advanced functions. Haven't checked with ATI / AMD.

Atak_Snajpera
31st March 2009, 12:30
Luckly Vista and 7 users have no problems with "judder" in EVR Custom mode . I reckon that this will be useful only for XP users .

tetsuo55
31st March 2009, 12:44
Thanks for the encouragement! I'll check into the MPC HC project. I haven't really put much effort into my player as you already figured out. The main component is the renderer. As it is implemented now it indeed requires some integration in the player too. (I have forgotten exactly why now but I remember that I went to great lengths trying to avoid the extra non-standard interface. It has something with exclusive mode and reset of the graphics device to do.) The renderer aggregates VMR9 so it implements DXVA etc.

Hi ar-jar,

As the program manager for MPC-HC i would like to officially invite you to join the team.
The people working on the renderer's and the judder issues are Beliyaal and casimir666.

The work you have done for this program would make MPC-HC almost perfect!
Although we are evolving towards EVR a lot of people are stuck forced to use VMR9, so those functions are very usefull still.

ar-jar
31st March 2009, 12:45
Luckly Vista and 7 users have no problems with "judder" in EVR Custom mode . I reckon that this will be useful only for XP users .

With proper matching of refresh rate and video fps, the backbuffer flip timing in relation to vsync, and skipping or adding a frame at exactly the right time you get very close and may not notice any judder. I guess that's what's improved in EVR. I doubt that they have implemented true framelock though as the graphics drivers don't support the required functions today. As a geek though, I'm twice as happy when I can measure there isn't any judder than I am when I just don't notice it :-)

tetsuo55
31st March 2009, 12:45
Luckly Vista and 7 users have no problems with "judder" in EVR Custom mode . I reckon that this will be useful only for XP users .

You have not seen my pc then :(

ar-jar
31st March 2009, 13:01
Hi ar-jar,

As the program manager for MPC-HC i would like to officially invite you to join the team.
The people working on the renderer's and the judder issues are Beliyaal and casimir666.

The work you have done for this program would make MPC-HC almost perfect!
Although we are evolving towards EVR a lot of people are stuck forced to use VMR9, so those functions are very usefull still.

Thank you for the invitation, I'm honored. I need to make it clear though that I'm not a programmer really so i may need some time to learn the ropes of collaborating on an open source project. But I usually find my way around eventually despite my shortcomings, it just takes some time. I'll see what I can find at SourceForge (?) first, play around with the player a bit, maybe look at the code and then get in touch with the people you mention.

tetsuo55
31st March 2009, 13:06
Thank you for the invitation, I'm honored. I need to make it clear though that I'm not a programmer really so i may need some time to learn the ropes of collaborating on an open source project. But I usually find my way around eventually despite my shortcomings, it just takes some time. I'll see what I can find at SourceForge (?) first, play around with the player a bit, maybe look at the code and then get in touch with the people you mention.

A lot of the people that join these kinds of projects are not experienced programmers.
By the time they lose interest they have usually become quite skilled in the programs field.

flanger216
31st March 2009, 15:59
Great work, especially for someone who "isn't a programmer." A big +1 for getting this implemented into MPC-HC.

You have not seen my pc then :(

Ha! Same here, man.

envagyok
31st March 2009, 16:11
i cannot register the filters under windows vista?
have someone get installed with vista 64 bit?
how can i do that?

leeperry
31st March 2009, 16:14
You have not seen my pc then :(
there's an urban myth that leads ppl to believe that EVR is the start all/end all of smooth playback on PC...

this sounds awesome, too bad I ditched my ATi cards ages ago :o

does it use some custom A/V renderer? how about A/V sync for 23.976fps@48Hz?

Jong
31st March 2009, 16:44
ar-jar,

what are the problems with the latest 4xxx cards from ATI. Are you saying those cannot be used for sure, or you are not certain?

Pstrip release notes are not always the clearest I know.

ar-jar
31st March 2009, 19:36
i cannot register the filters under windows vista?
have someone get installed with vista 64 bit?
how can i do that?

Sorry, I have never tried it on Vista. The .bat-file just contains a couple of regsvr32 calls. I don't know if that's how you register dlls on Vista. There are also trace tools that you can use to see what goes wrong when registering a dll but again, I don't know what to use on Vista.

ar-jar
31st March 2009, 19:45
there's an urban myth that leads ppl to believe that EVR is the start all/end all of smooth playback on PC...

this sounds awesome, too bad I ditched my ATi cards ages ago :o

does it use some custom A/V renderer? how about A/V sync for 23.976fps@48Hz?

It uses a custom renderer that aggregates VMR9 (COM aggregation) and adds a "custom allocator-presenter" that controls the timing. This is what I believe is sometimes called VMR9 "renderless" which is a funny name for a renderer. It's all packed into one dll. Unfortunately I had to add a custom COM interface so it's not 100% plug-in compatible with VMR9.

It should work with whatever your display will digest. I've tried it with 48 (or ~47.95 rather), 50, 60.

ar-jar
31st March 2009, 19:56
ar-jar,

what are the problems with the latest 4xxx cards from ATI. Are you saying those cannot be used for sure, or you are not certain?

Pstrip release notes are not always the clearest I know.

I've seen posts that say that 4000 boards work ok with PS but I haven't tried it. On my development computer I use a very low cost fan-less 3450 which I think is quite sufficient for video and it support DXVA fine too (with the latest driver). I think PS release notes use GPU codes for ATI instead of board families so you have to cross-reference using e.g. Wikipedia. I wouldn't be afraid to try it out but I can give no guarantees... On my HTPC I use a 7000 series NVidia but they are hard to come by these days. Hopefully Entech gets the info they need to support the newest boards too.

Jong
31st March 2009, 19:58
Yeah, I thought that might be where we are at. I'll post on the Pstrip forum to see what Rik says.

leeperry
31st March 2009, 20:18
It uses a custom renderer that aggregates VMR9 (COM aggregation) and adds a "custom allocator-presenter" that controls the timing. This is what I believe is sometimes called VMR9 "renderless" which is a funny name for a renderer. It's all packed into one dll. Unfortunately I had to add a custom COM interface so it's not 100% plug-in compatible with VMR9.

It should work with whatever your display will digest. I've tried it with 48 (or ~47.95 rather), 50, 60.
ok thanks for the detailed reply!
so what happens on 23.976@48Hz? it doesn't resample I guess, so A/V sync will suffer after a little while?

your player is constantly sending a drifting refresh rate, if I got right :confused:

and did you get a chance to look at my PM? would love to hear your feedback on that matter :cool:

ar-jar
31st March 2009, 21:26
ok thanks for the detailed reply!
so what happens on 23.976@48Hz? it doesn't resample I guess, so A/V sync will suffer after a little while?

your player is constantly sending a drifting refresh rate, if I got right :confused:

and did you get a chance to look at my PM? would love to hear your feedback on that matter :cool:

The renderer switches between three different refresh rates: the nominal one that should be as close to the video fps as possible (the "cruise" refresh rate), a high one that *must* be above the video fps ("accelerate") and a low one ("decelerate") that *must* be below the video fps. As long as this is the case, everything should be kept in sync. If either the low or the high refresh rate is very close to the video fps, then it may take some time to get into sync. You get the idea. In my setup for 23.976 fps Blue-ray m2ts files I use 47.95 as nominal, 47.90 as low and 50.00 as high. That works fine. (A too big difference in refresh rates will mess up the display. The ones that I've tested with seem to tolerate 0.05 at least.)

I'll look into your PM...

leeperry
31st March 2009, 21:33
The renderer switches between three different refresh rates
[...]
I'll look into your PM...
don't you think some(most?) displays will get very upset at fluctuating refresh rates?
I know my Mitsubishi projector would constantly resync.....which leads to the PM I sent ya :o

ar-jar
31st March 2009, 21:42
don't you think some(most?) displays will get very upset at fluctuating refresh rates?
I know my Mitsubishi projector would constantly resync.....which leads to the PM I sent ya :o

To be honest, I don't know. But I know that I own 3 LCDs (2 Philips and one Toshiba I think - i keep forgetting) and one old Sony HS10 projector. They all accept a 0.05 Hz adjustment up or down without a glitch (many of them, maybe all, also accept 48 Hz against common wisdom). Some accept an adjustment in the horizontal front porch, some in the vertical. But none of them accept both so one has to test. With PowerStrip you have to adjust the number of lines or columns. Of some reason, adjusting the pixel clock, which would seem most straight-forward, doesn't work.

When I purchased my last LCD i actually took my HTPC to the store and tested it. That's what I'll do when I upgrade my projector too.

leeperry
31st March 2009, 22:16
good point, coz I remember that whatever value I ever so slightly changed in pstrip got my HC3100 to resync :o

anyway, to sum it up:
-regular DS playback will drop video frames once in a while to catch up w/ the audio
-Reclock will change the media speed to match w/ an exact multiple of the refresh rate(23.976@24fps>48Hz), and Haali's Renderer will NEVER drop frames either.
the only drawback is that Reclock is not synced to HR, so jitter occurs :(

if I got it right, your player will keep the audio untouched(so no 25@24 possible? or maybe w/ Reclock on top of it?), and will constantly play around w/ the refresh rate to catch up w/ the audio? ...w/o dropping video frames and no visible "gap", right? :D

ar-jar
31st March 2009, 22:27
the only drawback is that Reclock is not synced to HR, so jitter occurs :(

if I got it right, your player will keep the audio untouched(so no 25@24 possible? or maybe w/ Reclock on top of it?), and will constantly play around w/ the refresh rate to catch up w/ the audio? ...w/o dropping video frames, right? :D

Not sure what you mean with "Reclock is not synced to HR". I'm not an expert on Reclock so I shouldn't really say much about it. It used to work ok for me for DVDs but I wanted something that also worked for a live TV input and that Reclock does not.

Audio and video moves in perfect harmony when everything is in sync with my player. I think that maybe somewhere inside of VMR9, outside of my control, a frame might get dropped if things get critical but that never happens as far as I can tell. So video - audio sync is not an issue.

ar-jar
31st March 2009, 22:38
Does anybody know how e.g. satellite boxes adjust the refresh rate of the TV to match that of the incoming video? Or maybe they don't, i.e. they are as bad as PCs, just that I haven't noticed (heaven forbid).

Does the DVI (or any other applicable) standard have a notion of framelock and how that should be implemented in the box - display combination? Maybe small adjustments of the pixelclock? Maybe a good old fashioned vsync pulse and a PLL but in digital format? I should perhaps try to dig out the standard somewhere and read instead of just tweak things (although tweaking is more fun)...

leeperry
31st March 2009, 22:39
Reclock sends a "perfect clock" but HR is not synced, so jitter occurs...mostly due to the VSYNC fliptime : http://software.intel.com/en-us/articles/video-frame-display-synchronization

and Haali has given up on HR, so it's a lost cause.

AFAIK, Reclock works fine on DVB...many ppl use it to watch 25@24 in Europe, once you've tried PAL correction there's no looking back :D

well, yeah dropping video frames is the last thing you wanna do..

ar-jar
31st March 2009, 22:49
AFAIK, Reclock works fine on DVB...many ppl use it to watch 25@24 in Europe, once you've tried PAL correction there's no looking back :D


I don't think that Reclock can synchronize a live source. It would end up between a rock (the broadcast company's internal clock) and a hard place (the graphics board's internal clock). If none of those will yield, no absolute sync is possible. Reclock tries to adjust the rock (which in case it is locally stored on your harddrive) will actually yield. My solution adjust the hard place which isn't all that hard if you use the PowerStrip API and have a compatible board. (Excuse me for my metaphors - it's getting late over here.)

leeperry
31st March 2009, 23:07
I'm pretty sure that Reclock works for live TV(his coder and several other ppl mentioned it), but I never tried it myself..

and you're from Europe, so you're well aware that all the movies are 4% sped up on our DVD's/TV channels, so keeping the audio untouched is not an ideal solution in those cases ;)

Casshern
1st April 2009, 10:14
don't you think some(most?) displays will get very upset at fluctuating refresh rates?
I know my Mitsubishi projector would constantly resync.....which leads to the PM I sent ya :o
Hi,

as far as i see it the adjustment occurs only for 1 frame. I tested this with my displayes here and had no problems (sony vwl 60, sharp lcd hdtv, lg computer monitor). Most - if not all - displays resync only if the the new signal is far enough from the current one and persists for a couple of vertical syncs (maybe 10 fields/frames). I would also reckon that every hdtv capable displaydevice should work, as they have tolerances for 23.976 to 24.000 hz anyways.

I would estimate a successrate of > 85% across dispkays, brands etc if the corrected frame time does not persist for more than 3 vertical refreshcycles.

So don't listen to the naysayers. Your prototype works well enough for me, as a proof of concept. Even if its not for everybody, it would be a great addition to mpc hc.

leeperry
1st April 2009, 11:02
I would estimate a successrate of > 85% across displays, brands etc if the corrected frame time does not persist for more than 3 vertical refreshcycles.
ah, good point! well you only tried it on 3 displays....so giving a 85% success rate is a bit far stretched I think.
anyway, what matters is whether the A/V remains spot on and if it never drops video frames(even after a 2H play time)

hopefully more ppl will give feedback, I'd hate having you making me buy an ATi again :devil:

Leak
1st April 2009, 12:26
I've seen posts that say that 4000 boards work ok with PS but I haven't tried it.
It works fine with my Radeon 4850.

The only problem I have is that it doesn't seem to be able to address more than 2 monitors, i.e. with 2 monitors enabled the two connectors on my first card are numbered 1 and 2 in PS, whereas activating the first monitor on my second card makes PS give number 1 to the first screen on my first card and 2 to the first screen on my second card and there's no way to get it to adjust the third monitor that was actually the second one seconds ago...

But I can live with that... :)

EDIT: Scratch that, the above is fixed in PowerStrip 3.85. :)

Jong
1st April 2009, 12:50
I've seen posts that say that 4000 boards work ok with PS but I haven't tried it. It works fine with my Radeon 4850.
The reply on the Entech Forum (http://forums.entechtaiwan.com/index.php?topic=6915.new;topicseen)again suggests all is fine with 4xxx, although still not definitive support.

ar-jar
1st April 2009, 16:11
Hi,

as far as i see it the adjustment occurs only for 1 frame. I tested this with my displayes here and had no problems (sony vwl 60, sharp lcd hdtv, lg computer monitor). Most - if not all - displays resync only if the the new signal is far enough from the current one and persists for a couple of vertical syncs (maybe 10 fields/frames). I would also reckon that every hdtv capable displaydevice should work, as they have tolerances for 23.976 to 24.000 hz anyways.

I would estimate a successrate of > 85% across dispkays, brands etc if the corrected frame time does not persist for more than 3 vertical refreshcycles.

Great that it worked for you too. As you say, HDTV resolutions / timings seem fairly tolerant. VGA less so. A typical computer monitor may keep its sync but the image will shift a bit up or down which can be a nuisance so I don't recommend it for computer monitors running a VGA resolution. When the frequencies match like with 25 fps DVDs and 50 Hz displays I get about 80 - 100 adjustments for a whole movie. I think that if the display can handle the first frame with the new timing, then it can handle it indefinitely so how long the adjustment goes on shouldn't be that critical. I haven't measured it but I think that it may take as long as a few seconds to make an adjustment. Anyway, we can add my 4 monitors to the stats which makes it a total of 7 :-)

ar-jar
1st April 2009, 16:25
anyway, what matters is whether the A/V remains spot on and if it never drops video frames(even after a 2H play time)


When I watch a DVD movie I typically don't stray away from the desired presentation time more than 3-4 ms which means that the player never drops a frame. Sound and video also seems to stay in sync.

You can test this with the built in test stream generator that generates a sweeping edge and you can display how accurate the timing is. With a heavy load on the CPU, things do deteriorate though. But it works @ 50% load with (a rather clean) 1 core 3.2 GHz processor, when I play 50 fps AVCHD.

There is still the odd chance that the graphics board misses to display an image from its backbuffer when told to do so, I can not test that, but that would be a bug. I haven't seen anything that indicates that it would.

leeperry
1st April 2009, 18:54
There is still the odd chance that the graphics board misses to display an image from its backbuffer when told to do so
yeah, that's what I hated so much w/ EVR/VMR9 in MPC HC...sometimes the damn thing dropped a frame just because it was a bit late, so irritating to see dropped frames on a 3 meters wide projection screen in 24p..

but considering you run in exclusive D3D mode, this should minimize this problem...if not fixing it altogether :devil:

now how does it work in conjunction w/ Reclock at 23.976@24 & 25@24, that's the subsidiary question I guess :D

ar-jar
1st April 2009, 21:36
but considering you run in exclusive D3D mode, this should minimize this problem...if not fixing it altogether :devil:

now how does it work in conjunction w/ Reclock at 23.976@24 & 25@24, that's the subsidiary question I guess :D

I use exclusive mode mostly to avoid tearing. It also gives a somewhat more exact timing but is not crucial wrt to that. I get a pretty good sync in windowed (non-exclusive) mode too actually.

It should work fine with Reclock if you only use Reclock for changing the framerate. If you use it for synchronization too (don't rememer if you can disable that) then the two algorithms might end up fighting each other regarding the right timing and the result would be unpredictable. I don't have the need for changing the framerate as all my displays seem to accept 48- Hz too for my 24 fps movies.

Mark_A_W
2nd April 2009, 12:05
I'm trying to install it on Vista 32.

But the bat file can't register syncvmr9.ax.

When I try to manually register syncvmr9.ax, I get an error about d3dx9_34.dll not being found.

I believe my system is up to date.


A little help please...:)



EDIT....RTFM. My DirectX wasn't up to date.

ar-jar
2nd April 2009, 12:19
When I try to manually register syncvmr9.ax, I get an error about d3dx9_34.dll not being found.

I believe my system is up to date.

I on the other hand think you may need an update :-) I hope this link will take you to the most recent version download (if Microsoft hasn't managed to move things around in the mean time): http://www.microsoft.com/downloads/details.aspx?FamilyId=2DA43D38-DB71-4C1B-BC6A-9B6652CD92A3&displaylang=en

You can also first go to your C:\WINDOWS\system32 and see if there is a d3dx9_34.dll there.

Mark_A_W
2nd April 2009, 12:34
I on the other hand think you may need an update :-) I hope this link will take you to the most recent version download (if Microsoft hasn't managed to move things around in the mean time): http://www.microsoft.com/downloads/details.aspx?FamilyId=2DA43D38-DB71-4C1B-BC6A-9B6652CD92A3&displaylang=en

You can also first go to your C:\WINDOWS\system32 and see if there is a d3dx9_34.dll there.


I got it - thanks.

My next problem is I was running multi-monitors when I fired it up.

My monitor for Video runs at 95.904hz interlaced....and the other one runs at 85hz progressive, and the 85hz one was primary when ran Gothplayer.

Now it's stuck on 85hz as the monitor frequency - I can't seem to force it to read the other monitor. I disabled the 85hz monitor, but that didn't work. Tried re-registering the bat files, and restarting the player.

Anyway, I think it's a brilliant idea. Very keen to see how it goes compared to Reclock (actually...I'd still need reclock to do PALSpeedDown, so it would be nice if they could work together. Not sure if PALSpeedDown works with Reclock in Slave mode).


EDIT: I just RTFM very carefully, yes, you do say to disable multi monitors. What can I say...it's late and I'm tired. Is there a way to reset the monitor detection?

ar-jar
2nd April 2009, 12:48
I got it - thanks.

Now it's stuck on 85hz as the monitor frequency - I can't seem to force it to read the other monitor. I disabled the 85hz monitor, but that didn't work. Tried re-registering the bat files, and restarting the player.

Anyway, I think it's a brilliant idea. Very keen to see how it goes compared to Reclock (actually...I'd still need reclock to do PALSpeedDown, so it would be nice if they could work together. Not sure if PALSpeedDown works with Reclock in Slave mode).


EDIT: I just RTFM very carefully, yes, you do say to disable multi monitors. What can I say...it's late and I'm tired. Is there a way to reset the monitor detection?

You can go to C:\Program Files\PowerStrip (or similar) and delete the pstrip.ini file (or to be on the safe side, just rename it - deleting it *used to* work...) and restart PS with the right monitor and frequency. Not sure if you can use Reclock just to speed up or down. I wouldn't recommend having both sync algorithms going at it at once.

Casshern
2nd April 2009, 13:40
I did some more testing with my vwl 60 and it only works without "a screen wobble" if you are at 23.976 -24.000. At 47.952 every adjustment doesn't resync but wobbles the screen. Unfortunatly at 23.976 audio is shakey. Maybe you can give us more options to change the other picture parameters back porch.... maybe they work better at some refresh rates

ar-jar
2nd April 2009, 13:52
I did some more testing with my vwl 60 and it only works without "a screen wobble" if you are at 23.976 -24.000. At 47.952 every adjustment doesn't resync but wobbles the screen. Unfortunatly at 23.976 audio is shakey. Maybe you can give us more options to change the other picture parameters back porch.... maybe they work better at some refresh rates

Have you tested with Powerstrip (manually) if any of the other parameters work w/ 48Hz? Did you test adjusting both horizontal and vertical front porch (either or that is, not both at the same time)? Are you using an HDTV resolution (not VGA)?

Edit: Was the 47.952 you tried an interlaced resolution? 1080i? I did some more testing with my displays. They accept 1080i/50 although they are all natively 720 but none of them seem to be tolerant to any changes at all in PowerStrip at that resolution. So maybe interlaced resolutions are off limits for this type of tweaking. What was the resolution of the 24 Hz that you tested?

Mark_A_W
2nd April 2009, 22:04
You can go to C:\Program Files\PowerStrip (or similar) and delete the pstrip.ini file (or to be on the safe side, just rename it - deleting it *used to* work...) and restart PS with the right monitor and frequency. Not sure if you can use Reclock just to speed up or down. I wouldn't recommend having both sync algorithms going at it at once.


Umm...ahh....NO WAY am I deleting my pstrip.ini file.

Getting an interlaced resolution to work in Vista was extraordinarily difficult. And I think with CAT 9.2 the option to add 1080i 30hz as a HDTV res has disappeared from CCC. That is the basis of my 1080i resolution, with the timings tweaked to 47.952hz (the monitor/projector sees it as ~96hz).


I'm not sure how you are driving powerstrip, but you can add a target monitor in the command line:

PStrip.exe" /target:2 /t:1920,112,128,115,1080,46,7,30,126874,542

Which means it may be easy to add monitor selection to your player?



Is there any way your timing tweaking could be added to MPC HC for instance? Otherwise, writing a complete player from scratch is a MONUMENTAL task. (I'd like things like TS and MKV support, filter management, etc, etc, etc....years of work.)

ar-jar
2nd April 2009, 23:00
I'm not sure how you are driving powerstrip, but you can add a target monitor in the command line:

PStrip.exe" /target:2 /t:1920,112,128,115,1080,46,7,30,126874,542

Which means it may be easy to add monitor selection to your player?

Is there any way your timing tweaking could be added to MPC HC for instance? Otherwise, writing a complete player from scratch is a MONUMENTAL task. (I'd like things like TS and MKV support, filter management, etc, etc, etc....years of work.)

Sorry, I was under the impression that you had just installed PS and that it had "got stuck" in the wrong default resolution. It usually asks if your current res is your default resolution and then stores it.

I'm driving PS through its API from my player. Since I myself only use one display I haven't bothered with support for multiple displays but it shouldn't be more than a few lines of code.

I'm looking at adding the functionality as "an advanced option" to MPC but it's a bit tricky to get started.

Writing a *simple* player that plays pretty much anything you throw at it is really not that hard. I've used my player myself for more than a year for playing DVDs, AVCHD files from my camcorder and now Blue-ray m2ts files. Most of what you mention can be handled outside the player: splitting an MKV or m2ts file (Haali Media Splitter), filter management (DirectShow Filter Manager) etc. The beauty of DirectShow is this modularity.

ar-jar
3rd April 2009, 11:32
It seems as if some of you have now tried my prototype player and some probably have got it to work too (hopefully).

I would be very interested in knowing:

(1) What display (brand and model) you have used (including projectors of course).

(2) What resolution you have used. It would be great if you could paste the (nominal) PowerStrip timing parameters with your answer. (Go to Advanced Timing options and copy the timings to the clipboard with the copy tool right next to the Cancel button.)

(3) Whether you have used the horizontal or vertical porch for adjustment.

(4) What graphics board you are using.

I'm specifically keen on knowing what types of 1080 resolutions that work.

It would also be interesting to know what *didn't* work to see if there is a pattern. I have for instance not been able to get 1080i to work on any display that I've tried.

Thanks a lot!

Casshern
3rd April 2009, 15:07
Have you tested with Powerstrip (manually) if any of the other parameters work w/ 48Hz? Did you test adjusting both horizontal and vertical front porch (either or that is, not both at the same time)? Are you using an HDTV resolution (not VGA)?

Edit: Was the 47.952 you tried an interlaced resolution? 1080i? I did some more testing with my displays. They accept 1080i/50 although they are all natively 720 but none of them seem to be tolerant to any changes at all in PowerStrip at that resolution. So maybe interlaced resolutions are off limits for this type of tweaking. What was the resolution of the 24 Hz that you tested?

I always test at 1920x1080p with progressive material, mostly with a frame rate of 23.976 with a screen refresh of 47.952 - but i noticed something which might serve to improve your renderer. When i change the front porch values in powerstrip the screen wobbles only sometimes. I would say from 10 changes it wobbles 4 times. In the player though it wobbles almost always. This leads me to the following conclusion: It matters at which point relative to vertical/horizontal sync the adjustment is made. Maybe you can give us another paramater (maybe the scanline) when the parameter change takes place. Maybe that also helps other displays at sensitive refreshrates....


At a screen refresh of 23.976 it worked better - at first i thought it was perfect, but here also the screen wobbles although much much less often. This could mean that the timing of the change is important here too....

This is all with a SONY VW 60 in pc mode over dvi->hdmi with an ati radeon 2600 pro 512 mb

ar-jar
5th April 2009, 21:13
I let go of the requirement to synchronize the display to live sources and implemented an alternative sync mechanism that supports all graphics boards and displays (as long as the displays can be set to a refresh rate that is very close to a multiple of the video framerate).

So now there are two sync options in GothPlayer:

1) Synchronize display to video. This is the old approach that also synchronizes live video sources but doesn't work with all boards and displays.

2) Synchronize video to display. This is implemented with a simple adjustable reference clock source filter that fine-tunes the playback speed and which I control with the timing info from the renderer (like in approach 1). Initial experiments indicate that it keeps the sync at least as well as the first approach. If you just play DVD and video files, this is probably a more robust solution.

I haven't run a lot of testing so there are bound to be bugs. But do give it a try and see what happens! Downloads and sort of a manual as before from my web site (see the footer).

Cheers!