PDA

View Full Version : Reclock with DTV tuner card


Jeroni Paul
21st November 2008, 16:55
Hello

I use a digital TV tuner card in my HTPC to watch live TV and have been trying for some time to get good picture motion and quality. We receive PAL MPEG2 streams at 720x576 and 50Hz and I have set a 50Hz screen mode that according to reclock is 49,995 Hz.
But there is a small problem that I cannot get rid of, where the picture seems to randomly skip one frame and then after a few frames repeat another frame. The effect is like a small jump backward and then forward. It is quite random, it may run a few minutes glitchless and then starts to do that every now and then without any noticeable pattern.

Playing a recorded video with MPC has the same glitches (it uses the same MPEG2 codec) but Reclock fixes them :)
To use reclock with the DTV app for live TV I have to enable the option to force the use of reclock. When started it loads and recognizes the source as a PAL DVD playing 25fps and after a while has a green icon. However it does not fix the problem. Yet if I play with its options it has an effect on the playing video, for example setting half speed the video and sound plays at half speed (I wonder where is it saving the received but not played video, when restored it continues with the video normally but delayed. Actually it seems useful for inmediate time-shifting as this feature is very buggy in the DTV app).

Attached is a capture of the reclock window after a while.

The card is a KWorld DVB-T 100 with its BDA drivers and its application. It runs Windows XP (no SP installed), it is a Petium III 1 GHz, 256 Mb and an ATI Radeon 7000. The MPEG2 decoder is cyberlink and uses ATI hardware acceleration. With DXVA disabled does the same thing (and deinterlaces the picture which is not what I want).

Since the source is live video I figure it does not have the ability to read forward. However since the refresh appears to be slightly below the exact 50Hz it should be trying to slow down the video, so it should work.
Any idea?

James
21st November 2008, 17:06
Hello

I use a digital TV tuner card in my HTPC to watch live TV and have been trying for some time to get good picture motion and quality. We receive PAL MPEG2 streams at 720x576 and 50Hz and I have set a 50Hz screen mode that according to reclock is 49,995 Hz.
But there is a small problem that I cannot get rid of, where the picture seems to randomly skip one frame and then after a few frames repeat another frame. The effect is like a small jump backward and then forward. It is quite random, it may run a few minutes glitchless and then starts to do that every now and then without any noticeable pattern.

Playing a recorded video with MPC has the same glitches (it uses the same MPEG2 codec) but Reclock fixes them :)
To use reclock with the DTV app for live TV I have to enable the option to force the use of reclock. When started it loads and recognizes the source as a PAL DVD playing 25fps and after a while has a green icon. However it does not fix the problem. Yet if I play with its options it has an effect on the playing video, for example setting half speed the video and sound plays at half speed (I wonder where is it saving the received but not played video, when restored it continues with the video normally but delayed. Actually it seems useful for inmediate time-shifting as this feature is very buggy in the DTV app).

Attached is a capture of the reclock window after a while.

The card is a KWorld DVB-T 100 with its BDA drivers and its application. It runs Windows XP (no SP installed), it is a Petium III 1 GHz, 256 Mb and an ATI Radeon 7000. The MPEG2 decoder is cyberlink and uses ATI hardware acceleration. With DXVA disabled does the same thing (and deinterlaces the picture which is not what I want).

Since the source is live video I figure it does not have the ability to read forward. However since the refresh appears to be slightly below the exact 50Hz it should be trying to slow down the video, so it should work.
Any idea?
You cannot use ReClock with Live-TV as it usually won't be the reference clock of the graph, unless your software has a "time shift" feature like DVBViewer where you can seek some seconds backwards to enable timeshift playback.

Klaus_1250
23rd November 2008, 13:45
The latest DVBViewer version also has something similiar to ReClock (though different) It compares the DVB-clock (time-info from the DVB-stream) to the internal clock and tries to compensate for drift between the two. I'm no sure how that works out if you would also be using Reclock, aside from the fact that Reclock isn't suitable for live-streams to begin with.

Jeroni Paul
25th November 2008, 16:17
Thank you for your replies. I understand the clock problem and it would be nice that reclock warned when it is not the master clock.

I tried the DC-DVB filter that has an option to set the audio renderer as the master clock. This is a DirectShow filter that interfaces BDA drivers to media players, so that live TV can be tuned with a standard media player. I got it working but without any improvement. Reclock loads and calculates but these little jumps are still there.

With both the kworld app and dc-dvb, the audio goes 500ms after the video when reclock loads. This can be "fixed" by changing the buffer settings to 25ms (the minimum allowed).

What is it so hard about live TV? It is just a digital stream coming from a tuner instead of a disk, it should be played just the same way. :confused:

James
26th November 2008, 06:41
The latest DVBViewer version also has something similiar to ReClock (though different) It compares the DVB-clock (time-info from the DVB-stream) to the internal clock and tries to compensate for drift between the two. I'm no sure how that works out if you would also be using Reclock, aside from the fact that Reclock isn't suitable for live-streams to begin with.
Not similar. It uses the source clock as the graph clock. Not good if you use ReClock.
Solution in DVBviewer: Enable "always timeshift" in options. When watching live tv, wait 10 seconds, then jump 10 seconds back. ReClock will now work, and yes, you can even do (almost) real time PAL speedup removal when watching live tv.

Jeroni Paul
29th November 2008, 14:14
I tried DVBViewer 3.9.2 and I found when set to use VMR9 (I think also with VMR7) the problem is fixed. Without timeshift.
With Overlay mixer the problem still shows up.

Jeroni Paul
24th December 2008, 22:36
I downgraded the ATI Radeon 7000 video card I had in my HTPC for a "cheaper" ATI Radeon 7000 (yes, same model but less memory and speed, I wanted to use the better card for other purposes) and while I was at it installed the latest Catalyst drivers available for it (6.11). Guess what?? The problem went away!
Without Reclock, both recorded and live TV plays perfect, no glitches. I guess it must be the driver update (it had Catalyst 4.5 before). At least it shows the driver has something to say about this.
Merry christmas.

Qwakrz
31st December 2008, 18:12
Live TV is always best if you set the refresh rate of your display manually to be the same or a multiple of the incoming standard.

The problem is that in the UK we use 50Hz / 25Hz broadcast signals but the default LCD frequency is 60Hz, this causes micro stutters in the display of live / recorded programs. Setting my refresh to 75Hz / 50Hz / 25Hzi gives sliky smooth playback and ReClock sets playback of HD video to 25Hz as well which also gives me silky smooth HD.

I also think there is a problem with ATi Catalyst as I used to get stutters after using suspend S3 (my system is a HTPC setup so suspend is used to sleep the PC so it can wake up to record when needed). A restart fixes the stutter until the next suspend. I finally updated from a HD3470 to a HD4670 and I have no more stutters (and alot better game playing).

CraziFuzzy
31st December 2008, 22:57
You could always look at switching from DVB Viewer to a full-time timeshifting app, like SageTV, where there is not difference between live and recorded. This will allow you to get everything set up that works best with your content, and it will 'just work', regardless of live or recorded.

jmone
1st January 2009, 01:35
I use www.jrmediacenter.com and FYI, reclock works fine with DVB-T with TS on.

Jeroni Paul
1st January 2009, 22:39
Live TV is always best if you set the refresh rate of your display manually to be the same or a multiple of the incoming standard.

The problem is that in the UK we use 50Hz / 25Hz broadcast signals but the default LCD frequency is 60Hz, this causes micro stutters in the display of live / recorded programs. Setting my refresh to 75Hz / 50Hz / 25Hzi gives sliky smooth playback and ReClock sets playback of HD video to 25Hz as well which also gives me silky smooth HD.

This is what I did but that old Catalyst version kept skipping and then repeating a frame every now and then. It seemed a sync problem between the source updating the frame and the video card refreshing the screen.

A missed or repeated frame every minute due to differences in the actual clocks is perfectly acceptable as it will not be noticeable but not every few seconds. The new Catalyst seems to perform a better refresh sync with the source.

Even tough I could get it fine with an ATI card I also experimented with a NVidia card and its latest drivers and the initial problem is still there with that card. Even worse, the NVidia card does not properly preserve the order of fields in an interlaced picture and keps switching randomly between odd first and even first every time it skips or repats a frame displaying very annoying interlace artifacts. That's another story though.