|
http://www.ostrogothia.com/?page_id=1216
Published by Arto Jarvinen on 24 Jul 2009 at 08:54 am Get started
These instructions apply to MPC-HC build 1465 and later.- Download the MPC-HC GothSync (MPC-HC with Sync Renderer) from this page or any official download site for MPC-HC.
- If your goal is perfect sync, see to it that your display refresh rate is within 0.1% of a multiple of the frame rate of the video. This means that for 23.976 fps material 23.976 Hz or 47.95 Hz refresh rates are fine. For 25 fps material 25 Hz, 50 Hz, 75 Hz, … refresh rates are fine. You get the picture. The Present at nearest vsync sync alternative below does not require matching rates as it is designed to minimize the adverse effects of non-matching rates. Also beware that the refresh rate reported by your graphics board control panel may not always be entirely correct. MPC-HC GothSync measures the actual refresh rate at start of streaming and shows it on the on-screen statistics display for reference. If you have difficulties obtaining sync, please check this number.
- Check that Reclock is not running if using the sync alternatives 1 or 2 below.
- Ensure that you have the Enhanced Video Renderer (EVR) installed on the system. On Windows XP, download and install the .NET 3.5 framework from Microsoft to get the EVR. The Sync Renderer is based on the EVR.
- Start the player (mpc-hc.exe).
- Open the View -> Options… dialog and select the Playback -> Output tab.
- Select Sync Renderer as your renderer in the DirectShow Video box. Close the Options dialog.
Alternative 1: Synchronize video frame rate to display refresh rate
This is the alternative to try first if you have matching video – display rates and don’t watch a lot of TV (or camera feeds or other more esoteric live sources). It should work with all displays and graphics cards. If using SPDIF (digital) audio output from the computer, this method may cause video and audio to get slightly out of sync during a full lenght movie. For accurate sync between audio and video, analog output should thus be used from the audio renderer. (See this blog post.)![]() | Sync options dialog. |
This sync mode uses the display refresh rate as the master and adjusts video and sound speed to the display refresh rate. It is important that the rate difference between the media and the display is small. If it gets larger than about 0.5%, then the audio will 【请注意文明用词】 of sync, even if the video may stay in sync with large control parameters (see below).- Open the View -> Options -> Playback -> Synchronization tab. Select Sync video to display. Frequency adjustment should be set to about 0.0012 (~0.12% of the nominal frequency), Target sync offset to your display refresh cycle minus about 3 ms (e.g. ~17 ms for a 50 Hz display refresh rate and ~13 ms for a 60 Hz display), and Control limits to 2.0 ms. The sync options checkboxes are greyed out if you haven’t selected Sync Renderer as your renderer or if there is an active playback (select File -> Close in that case).
- Play a good movie and check your sync according to these instructions.
Alternative 2: Synchronize display refresh rate to video frame rate
This is the more theoretically correct synchronization alternative and mimics the way a regular TV display is synchronized to the incoming video (or at least was in the good old analog age). It also works for live sources such as TV. The drawback with this method is that it may not work for your graphics card – display – display resolution combination. Some experimentation is required. This alternative requires the PowerStrip application.
When this alternative is selected, the Sync Renderer uses PowerStrip to fine-tune the graphics adapter output refresh rate so as to keep it in sync with the frame rate of the incoming video. To accomplish this it adds or removes (invisible) columns or lines to the front porch of the video frame (image) as needed. Adding columns or lines reduces the effective frame rate if the time to display each pixel (determined by the pixelclock) is kept constant. Removing columns or lines similarly increases the frame rate.
Displays such as projectors or LCD TVs tolerate a certain amount of change in the frame rate. Some displays are more tolerant to changes to the number of columns whereas others are more tolerant to changes in the number of lines. The best way to adjust the frame rate must be experimentally determined in the following way:- Download PowerStrip from Entech Taiwan. PowerStrip provides an API for adjusting the timing parameters of the graphics adapter from a program. It can also be used for manually adjusting parameters such as the refresh rate and the resolution of the display. PowerStrip can be tried for free for a certain period of time. Please follow the PowerStrip installation instructions.
- Don’t allow PowerStrip to start with Windows (untick the Autoload with Windows checkbox in the Options dialog). Automatically starting PowerStrip with Windows may be a nuisance if you manage to exit with a resolution that the display can not handle. Also, do make sure that your screen resolution and refresh rate have the default (preferred) values. The CTRL+ALT+S command in PowerStrip restores the graphics adapter default and can be useful from time to time during adjustments. For more details about PowerStrip, please use the built in help function.
- Open the View -> Options -> Playback -> Synchronization tab. Select Sync display to video. Set Target sync offset to your display refresh cycle minus about 3 ms (e.g. ~17 ms for a 50 Hz display refresh rate and ~13 ms for a 60 Hz display), and Control limits to 2.0 ms. The sync options checkboxes are greyed out if you haven’t selected Sync Renderer as your renderer or if there is an active playback (select File -> Close in that case).
- Select the display that you will be using to watch video. Adjust your graphics adapter to the frequency and resolution that you will be using most of the time, e.g. 720 lines @ 50 fps (720p50) in most of Europe.
- Start PowerStrip and follow the instructions for a first-time startup. An icon will appear in the system tray (down right on your desktop) when PowerStrip is running.
- Rightclick on the PowerStrip icon in the system tray and select the Display profiles -> Configure… menu item. Select Advanced Options. You should see a dialog like the one below (perhaps with some other resolution parameters).
- Drag the dialog over the display you wish to use. The parameters in the dialog should get updated with that display’s values. Make sure that the Real-time adjustment checkbox is checked.
- To test how your display handles changes to the resolution try reducing and increasing the number of lines and columns in the Front porch using the up and down arrows. Try both the horizontal (columns) front porch and the vertical (lines) front porch. If you can change either the line number or the column number one notch below and one notch above the nominal number without visible artifacts on the display, then GothSync will be able to control the display using the same type of adjustment. Make sure that you can increase and decrease the number in increments of 1 or 2. If not, try changing the resolution parameters of the display. Some resolutions only permit larger increments (e.g. 8) which is too coarse for the fine tuning needed by GothSync. If the display turns black you can either wait for the resolution to reset itself (which it does if you don’t Apply the new setting), or use CTRL+ALT+S to reset to the default values.
- Make sure that you reset the graphics adapter to its nominal settings (e.g. by selecting the reset command CTRL+ALT+S in PowerStrip) after you’re done experimenting.
- Open the View -> Options -> Playback -> Synchronization tab. If your display device accepted adjustment of the number of columns well (see above), enter 1 (or 2, if 1 is not allowed by PowerStrip) into the column field. If it was more tolerant to adjustments to the number of lines, enter 1 (or 2, if 1 is not allowed by PowerStrip) into the lines field. An increment of 1 should be sufficient with a 720 line resolution. With a 1080 line resolution you may want to try 2 as first choice. The increment should produce a change of about 0.1% in the refresh rate. When playing a video, you can see the actual frequencies in the statistics display during adjustment if you are using this sync alternative.
![]() | PowerStrip preferences. |
This synchronization alternative has been tested with my own player, the GothPlayer, with various NVidia 5000, 6000 and 7000 series graphics cards (PowerStrip is currently not compatible with the 8000 and up series cards) and the ATI 3450. There are also reports stating that PowerStrip works with the 4000 series of ATI / AMD cards. (See this post at the PowerStrip forum.) PowerStrip needs to be able to adjust the timing parameters of the graphics card to enable Sync Renderer to alter the refresh rate. Go to EntecTaiwan Forums and click your way to PowerStrip for Windows -> Announcements: Latest PowerStrip release notes to find a list of formally supported graphics cards. A “Yes” in column “Timing” is required for the synchronization feature to work.
The display synchronization function has been tested (again with GothPlayer) with four different HDTV displays, all with a 720 lines native resolution. Some issues have been reported with 1080 lines displays.Alternative 3: Present at nearest vsync
This alternative is for those who wish to use SPDIF out instead of analog signals (sync alternative 1 won’t work) and don’t have a display and a graphics board compatible with PowerStrip (sync alternative 2 won’t work) or simply can’t match the display rate to the video rate because if display limitations. It also works well in combination with ReClock.
This sync alternative attempts to minimize the ill effects of poor sync by (1) always presenting a new frame to the graphics board a certain distance from the vsync to avoid tearing and (2) by “snapping” to the closest vsync for as long as possible. A common cause of visible judder is that a frame’s nominal presentation time is exactly at the start of the vsync. Because of inherent imprecision in the video presentation code, sometimes such frames will be presented right before a vsync and sometimes right after a vsync which means that the frames will not be presented with even intervals. This in turn results in judder as shown in the image below.![]() | Inevitable judder when presentation time is close to vsync and no sync correction is active. This judder was induced by playing a 25 fps movie with a 50.01 Hz display refresh rate. |
When turning on the Present at nearest vsync synchronization option, the judder is reduced to one “clean” glitch as shown in the image below.![]() | When the Present at nearest vsync is active, there is only one “clean” glitch at vsync. The sync correction keeps the presentation time away from the vsync at all times and lets it only move a full vsync period back or forth when needed, not continuously as in teh graph above. In this case we need to show one video frame one extra display cycle now and then to stay in sync why the vsync period gets longer in that “glitch”. |
To activate this sync option do the following:- Open the View -> Options -> Playback -> Synchronization tab. Select Present at nearest vsync. Set Target sync offset to 10 – 18 ms for a 50 Hz display and 8 – 14 ms for a 60 Hz display. This sync option is greyed out if you haven’t selected Sync Renderer as your renderer or if there is an active playback (select File -> Close in that case).
|
|