[mythtv] Ticket #2903 is necessary to achieve perfect playback with an interleaved display mode.

Paul Gardiner lists at glidos.net
Sun Mar 29 14:05:10 UTC 2009


Thomas Hilber wrote:
> On Sun, Mar 29, 2009 at 02:05:17PM +0100, Paul Gardiner wrote:
>> For Mythtv there's a another solution which is to use a "fieldorder"
>> deinterlacer, see http://svn.mythtv.org/trac/ticket/6391. It's very
>> light weight in terms of impact on the code, although, it does involve
>> doubling the frame rate, so may require a little more grunt from the
>> system.
> 
> yeah I just read about it. It's based on the fact that
> 
> 12 32 34 54 56 76 78
> 
> produces spatially and temporally correct field order no matter if we
> output top or bottom field first. The idea is quite good. Though not
> sufficient to solve the problem completely.
> 
> The point is that with your solution DVB stream and VGA video output is
> NOT synchronized. This way there will repeatedly come the situation when
> a weaved frame is dropped. That means for example we get this sequence:
> 
> 12 32 34 56 76 78
> 
> '54' is completely dropped which leads to visible jerkyness. This effect
> is worsened by the fact that there is not hysteresis in effect. At the
> time there occurs a frame drop often many frames are dropped until phase
> relation between DVB stream and VGA output is unambiguous again.
> 
> That's why I finally decided to synchronize VGA output timing with DVB 
> stream. This gives me a smooth playback with no frame/field drops at
> all.
> 
> Maybe you will have a look at [1]. The bar indicates at what time within
> allowed 40ms interval we update graphics card double buffer. Of course
> I try to place this update in the middle of this interval. This provides
> maximum immunity against unforeseen timing irregularities. Caused by
> sudden CPU load or driver problems.

I don't ever notice the dropped frames, but yes they must be there. I'm
not so sure about the repeated dropped frames. I think MythTv has code
to keep away from the danger point where the relation is ambiguous.
I've seen code with comments that said similar, although I didn't
interpret it in detail. MythTv also can use the video as the timebase,
adjusting the audio subtly to fit: I think possibly that could avoid
the frame dropping.

But, in any case, yes vga-sync-fields does seem to be a more
complete solution.

Is vga-sync-fields restricted to VGA, or can it apply equally to
TV out?

Cheers,
	Paul.



More information about the mythtv-dev mailing list