Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: MythTV: Dev

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

 

 

MythTV dev RSS feed   Index | Next | Previous | View Threaded


lists at glidos

Mar 23, 2009, 5:50 AM

Post #1 of 13 (2058 views)
Permalink
Ticket #2903 is necessary to achieve perfect playback with an interleaved display mode.

I've been fiddling with mythtv for six months now, just wishing
to play 720x576i video to a PAL TV. I've built several systems,
never being quite content, but now the 4th, which uses VGA to
Scart, is near perfect.

I've just started working on the one remaining problem, which
is that there is nothing keeping the interlaces in sync between
content and display. Half the time I get perfection, half the time
I get terrible combs. I believe this is a well known problem. I can
hit "back" a few times when this happens and get it back in sync.
I've been using it like that for some time. I'd rather put up
with having to do so, than distroy the sharpness and smoothness
with processing.

My intention to correct the problem is to write a software,
field-order deinterlacer (there's already an opengl one, but
I can't use that).

Before I could even start on that work, I ran into another problem:
my system wont allow me to use a doublerate deinterlacer. I traced
that to the refresh rate calculation ignoring the fact that the
screen is interlacing and returning 25, rather than 50. (25 is
the true framerate, but we need 50 to acknowledge that there
are 50 vsyncs per second, and allow the use of the doublerate
deinterlacer).

I created a patch, to fix the problem, and now I can use
yadifx2 which does give really good results, and only loses a
little quality (it depends on the sync, now having the wrong
sync, rather than giving combs, gives a little loss of quality
because I then get all the lines calculated by yadif rather
than all the original lines).

I thought, before continuing the work, I'd open a ticket and
submit my patch so that others can at least use yadifx2 and
get the really very good results I'm getting, but I found that
someone had solved the problem 3 years ago, just to have their
ticket closed as invalid. The explanation given says to use
kernel or linear blend. That's madness. Both are going to
blur the image horribly, although kernel not so bad for
still images I guess.

Please can this decision be reconsidered. I guess it doesn't
matter to me so much: I now build my own copies of minimyth,
but there must be lots of other users who could benefit.

As an aside, I think some drivers (openchrome) get around this
problem by allowing a dummy mode line in xorg.conf that isn't
used in setting up the screen, but will be read by myth. The
dummy modeline has a doubled dotclock rate, which make the pal
mode come out as 50fps. I've certainly seen mode lines with
openchrome that have 27 where you'd expect 13.5

P.S. If we do reopen Ticket #2903 then we should test for
framerate 25 or 30, and double only in that case.

Cheers,
Paul.

_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


mark.kendall at gmail

Mar 23, 2009, 8:05 AM

Post #2 of 13 (1992 views)
Permalink
Re: Ticket #2903 is necessary to achieve perfect playback with an interleaved display mode. [In reply to]

2009/3/23 Paul Gardiner <lists [at] glidos>:
> I've been fiddling with mythtv for six months now, just wishing
> to play 720x576i video to a PAL TV. I've built several systems,
> never being quite content, but now the 4th, which uses VGA to
> Scart, is near perfect.
>
> I've just started working on the one remaining problem, which
> is that there is nothing keeping the interlaces in sync between
> content and display. Half the time I get perfection, half the time
> I get terrible combs. I believe this is a well known problem. I can
> hit "back" a few times when this happens and get it back in sync.
> I've been using it like that for some time. I'd rather put up
> with having to do so, than distroy the sharpness and smoothness
> with processing.
>
> My intention to correct the problem is to write a software,
> field-order deinterlacer (there's already an opengl one, but
> I can't use that).

Pau

I've been meaning to write a software 'field-order' deinterlacer for
some time. Unfortunately it keeps on getting bumped down the list,
mostly because interlaced output isn't a big ticket item for me
anymore (finally invested in a 1080p display). If you do take a look
at this, you should be aware that the fieldorder opengl deinterlacer
in trunk is no longer actually 'fieldorder' - it is effectively
bobdeint without the bobbing (i.e. it displays one field at a time
scaled to frame size). I realised after a large amount of testing that
this was the only reliable way of getting the sync correct for my
display. As I've said before though, this will almost certainly depend
on your make/model of tv.

> Before I could even start on that work, I ran into another problem:
> my system wont allow me to use a doublerate deinterlacer. I traced
> that to the refresh rate calculation ignoring the fact that the
> screen is interlacing and returning 25, rather than 50. (25 is
> the true framerate, but we need 50 to acknowledge that there
> are 50 vsyncs per second, and allow the use of the doublerate
> deinterlacer).
>
> I created a patch, to fix the problem, and now I can use
> yadifx2 which does give really good results, and only loses a
> little quality (it depends on the sync, now having the wrong
> sync, rather than giving combs, gives a little loss of quality
> because I then get all the lines calculated by yadif rather
> than all the original lines).
>
> I thought, before continuing the work, I'd open a ticket and
> submit my patch so that others can at least use yadifx2 and
> get the really very good results I'm getting, but I found that
> someone had solved the problem 3 years ago, just to have their
> ticket closed as invalid. The explanation given says to use
> kernel or linear blend. That's madness. Both are going to
> blur the image horribly, although kernel not so bad for
> still images I guess.
>
> Please can this decision be reconsidered. I guess it doesn't
> matter to me so much: I now build my own copies of minimyth,
> but there must be lots of other users who could benefit.

Again, something on my to do list that keeps on getting prioritised
down. Yes - I believe the approach taken in that patch is correct and
it will almost certainly work without issue for most people (or at
least it won't break playback). The problem, as someone quite rightly
pointed out to me not so long ago, is that it has the potential to
wreck playback for drivers that take a different approach to
interlaced modelines. I 'think' recent intel, ati and nvidia drivers
are consistent but my only ati card got dumped in the bin several
weeks ago after another fruitless attempt to get it working, older
nvidia drivers certainly took a different approach and I'm entirely
unsure about other, less common chipsets.

> As an aside, I think some drivers (openchrome) get around this
> problem by allowing a dummy mode line in xorg.conf that isn't
> used in setting up the screen, but will be read by myth. The
> dummy modeline has a doubled dotclock rate, which make the pal
> mode come out as 50fps. I've certainly seen mode lines with
> openchrome that have 27 where you'd expect 13.5

I've not seen this - my epia has long sinced passed on...

> P.S. If we do reopen Ticket #2903 then we should test for
> framerate 25 or 30, and double only in that case.

Agreed.

Regards

Mark
_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


lists at glidos

Mar 23, 2009, 8:38 AM

Post #3 of 13 (1987 views)
Permalink
Re: Ticket #2903 is necessary to achieve perfect playback with an interleaved display mode. [In reply to]

Mark Kendall wrote:
> I've been meaning to write a software 'field-order' deinterlacer for
> some time. Unfortunately it keeps on getting bumped down the list,
> mostly because interlaced output isn't a big ticket item for me
> anymore (finally invested in a 1080p display).

Good to hear it's not forgotten. I'm quite happy to write it. I
haven't before because it was ages before I managed to build a
system where the loss of sync was the most pressing problem.
I think the field order deinterlacer should be fairly easy to
write: although yadifx2 is very much more complicated, it's
the same pattern of leaving original lines intact, and generating
the inbetween ones, so I think I can base it on that, and replace
the complex calculations by memcpys.

> If you do take a look
> at this, you should be aware that the fieldorder opengl deinterlacer
> in trunk is no longer actually 'fieldorder' - it is effectively
> bobdeint without the bobbing (i.e. it displays one field at a time
> scaled to frame size). I realised after a large amount of testing that
> this was the only reliable way of getting the sync correct for my
> display. As I've said before though, this will almost certainly depend
> on your make/model of tv.

I was aware of that change, but not that it had made it to trunk.
I still don't understand why that should be. Because of what you
have said on the subject, I have been suspicious that field order
wont work for me, but what I am seeing from yadif supports
that it should work (I still get two modes of operation, as
I did without a deinterlaced, but with yadif I either see all
lines from the original video, or all the lines calculated from
yadif - you can tell from the artifacts, such as filled in letters).

Oh, and a strange thing I didn't mention in my first post: I get
really odd results from Bobx2. I expected to again have two
modes of operation depending on sync. One perfect and the other
with the fields swapped spacially. But what I get is a constantly
bad image. I suspect Bobx2 isn't using the line doubling I assumed it
was.

>> Before I could even start on that work, I ran into another problem:
>> my system wont allow me to use a doublerate deinterlacer. I traced
>> that to the refresh rate calculation ignoring the fact that the
>> screen is interlacing and returning 25, rather than 50. (25 is
>> the true framerate, but we need 50 to acknowledge that there
>> are 50 vsyncs per second, and allow the use of the doublerate
>> deinterlacer).
>>
>> I created a patch, to fix the problem, and now I can use
>> yadifx2 which does give really good results, and only loses a
>> little quality (it depends on the sync, now having the wrong
>> sync, rather than giving combs, gives a little loss of quality
>> because I then get all the lines calculated by yadif rather
>> than all the original lines).
>>
>> I thought, before continuing the work, I'd open a ticket and
>> submit my patch so that others can at least use yadifx2 and
>> get the really very good results I'm getting, but I found that
>> someone had solved the problem 3 years ago, just to have their
>> ticket closed as invalid. The explanation given says to use
>> kernel or linear blend. That's madness. Both are going to
>> blur the image horribly, although kernel not so bad for
>> still images I guess.
>>
>> Please can this decision be reconsidered. I guess it doesn't
>> matter to me so much: I now build my own copies of minimyth,
>> but there must be lots of other users who could benefit.
>
> Again, something on my to do list that keeps on getting prioritised
> down. Yes - I believe the approach taken in that patch is correct and
> it will almost certainly work without issue for most people (or at
> least it won't break playback). The problem, as someone quite rightly
> pointed out to me not so long ago, is that it has the potential to
> wreck playback for drivers that take a different approach to
> interlaced modelines. I 'think' recent intel, ati and nvidia drivers
> are consistent but my only ati card got dumped in the bin several
> weeks ago after another fruitless attempt to get it working, older
> nvidia drivers certainly took a different approach and I'm entirely
> unsure about other, less common chipsets.

Might they generate a vsync per frame, rather than per field, are
you suggesting? If that were the case, then I'd expect mythtv to
give perfect results with no deinterlacer. It would be like my
current system, but no possibly of losing sync. I can see the patch
could cause problems in that case. That's a pain. Has anyone reported
such behaviour? Perhaps a way around it would be to trigger the
altered refresh rate calculation only when a doublerate interlacer
is selected. Or it could be made a configurable option.

Cheers,
Paul.

_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


lists at glidos

Mar 26, 2009, 5:01 AM

Post #4 of 13 (1925 views)
Permalink
Re: Ticket #2903 is necessary to achieve perfect playback with an interleaved display mode. [In reply to]

Paul Gardiner wrote:
> Mark Kendall wrote:
>> I've been meaning to write a software 'field-order' deinterlacer for
>> some time. Unfortunately it keeps on getting bumped down the list,
>> mostly because interlaced output isn't a big ticket item for me
>> anymore (finally invested in a 1080p display).
>
> Good to hear it's not forgotten. I'm quite happy to write it.

All done. See Ticket #6391. Seems to work just as hoped. At last I have
MythTv producing the same image quality as my old DVRs.

Cheers,
Paul.

_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


mythtv-dev at toh

Mar 29, 2009, 5:02 AM

Post #5 of 13 (1877 views)
Permalink
Re: Ticket #2903 is necessary to achieve perfect playback with an interleaved display mode. [In reply to]

On Mon, Mar 23, 2009 at 12:50:40PM +0000, Paul Gardiner wrote:
> I've just started working on the one remaining problem, which
> is that there is nothing keeping the interlaces in sync between
> content and display. Half the time I get perfection, half the time
> I get terrible combs. I believe this is a well known problem. I can
> hit "back" a few times when this happens and get it back in sync.

I'm experimenting with VGA2SCART for various graphics cards since a while.
In the course of that I solved the issue to keep in sync with current
field polarity.

Since August 2008 patches are available for ATI Radeon cards. Newer
versions of my patch called 'vga-sync-fields' are also suitable for
Intel i9xx chipsets.

With D945GCLF or D945GCLF2 you can setup a very cheap but high quality
SCART DVB receiver.

Current field status is monitored continuously by the 'vga-sync-fields' patch.
VGA output frequency is adjusted dynamically in very small degrees to keep
in sync with DVB stream.

The patch will be integral part of easy-vdr distribution soon. It is
primarily written for VDR running xine. But it should't be a big deal to
port it to mythtv.

Most references to my project are in German. Here are 3 of them:
http://www.vdr-portal.de/board/thread.php?threadid=78480
http://www.vdr-portal.de/board/thread.php?threadid=79536
http://www.easy-vdr.de/forum/index.php?topic=6072.msg45309#msg45309

Further references in English:
http://vga2scart.gw90.de/
http://www.spinics.net/lists/vdr/msg17317.html
http://lowbyte.de/vga-sync-fields/vga-sync-fields/README

Snapshots:
http://lowbyte.de/vga-sync-fields/

Current development:
git clone git://vga2scart.gw90.de/git/vga2scart

Cheers
Thomas

_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


mythtv-dev at toh

Mar 29, 2009, 5:05 AM

Post #6 of 13 (1875 views)
Permalink
Re: Ticket #2903 is necessary to achieve perfect playback with an interleaved display mode. [In reply to]

On Mon, Mar 23, 2009 at 12:50:40PM +0000, Paul Gardiner wrote:
> I've just started working on the one remaining problem, which
> is that there is nothing keeping the interlaces in sync between
> content and display. Half the time I get perfection, half the time
> I get terrible combs. I believe this is a well known problem. I can
> hit "back" a few times when this happens and get it back in sync.

I'm experimenting with VGA2SCART for various graphics cards since a while.
In the course of that I solved the issue to keep in sync with current
field polarity.

Since August 2008 patches are available for ATI Radeon cards. Newer
versions of my patch called 'vga-sync-fields' are also suitable for
Intel i9xx chipsets.

With D945GCLF or D945GCLF2 you can setup a very cheap but high quality
SCART DVB receiver.

Current field status is monitored continuously by the 'vga-sync-fields' patch.
VGA output frequency is adjusted dynamically in very small degrees to keep
in sync with DVB stream.

The patch will be integral part of easy-vdr distribution soon. It is
primarily written for VDR running xine. But it should't be a big deal to
port it to mythtv.

Most references to my project are in German. Here are 3 of them:
http://www.vdr-portal.de/board/thread.php?threadid=78480
http://www.vdr-portal.de/board/thread.php?threadid=79536
http://www.easy-vdr.de/forum/index.php?topic=6072.msg45309#msg45309

Further references in English:
http://vga2scart.gw90.de/
http://www.spinics.net/lists/vdr/msg17317.html
http://lowbyte.de/vga-sync-fields/vga-sync-fields/README

Snapshots:
http://lowbyte.de/vga-sync-fields/

Current development:
git clone git://vga2scart.gw90.de/git/vga2scart

Cheers
Thomas

_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


lists at glidos

Mar 29, 2009, 6:05 AM

Post #7 of 13 (1872 views)
Permalink
Re: Ticket #2903 is necessary to achieve perfect playback with an interleaved display mode. [In reply to]

Thomas Hilber wrote:
> On Mon, Mar 23, 2009 at 12:50:40PM +0000, Paul Gardiner wrote:
>> I've just started working on the one remaining problem, which
>> is that there is nothing keeping the interlaces in sync between
>> content and display. Half the time I get perfection, half the time
>> I get terrible combs. I believe this is a well known problem. I can
>> hit "back" a few times when this happens and get it back in sync.
>
> I'm experimenting with VGA2SCART for various graphics cards since a while.
> In the course of that I solved the issue to keep in sync with current
> field polarity.
>
> Since August 2008 patches are available for ATI Radeon cards. Newer
> versions of my patch called 'vga-sync-fields' are also suitable for
> Intel i9xx chipsets.
>
> With D945GCLF or D945GCLF2 you can setup a very cheap but high quality
> SCART DVB receiver.
>
> Current field status is monitored continuously by the 'vga-sync-fields' patch.
> VGA output frequency is adjusted dynamically in very small degrees to keep
> in sync with DVB stream.
>
> The patch will be integral part of easy-vdr distribution soon. It is
> primarily written for VDR running xine. But it should't be a big deal to
> port it to mythtv.

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.

Interesting you mention Intel i9xx. I had no idea that they supported
the output of interlaced modes from VGA.

Cheers,
Paul.

_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


mythtv-dev at toh

Mar 29, 2009, 6:28 AM

Post #8 of 13 (1868 views)
Permalink
Re: Ticket #2903 is necessary to achieve perfect playback with an interleaved display mode. [In reply to]

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.

Cheers
Thomas

[1] http://vga2scart.gw90.de/explanation_of_output_in_x_server_log/

_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


lists at glidos

Mar 29, 2009, 7:05 AM

Post #9 of 13 (1876 views)
Permalink
Re: Ticket #2903 is necessary to achieve perfect playback with an interleaved display mode. [In reply to]

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.

_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


mythtv-dev at toh

Mar 29, 2009, 7:23 AM

Post #10 of 13 (1864 views)
Permalink
Re: Ticket #2903 is necessary to achieve perfect playback with an interleaved display mode. [In reply to]

On Sun, Mar 29, 2009 at 03:05:10PM +0100, Paul Gardiner wrote:
> 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.

but how does that work? Does MythTv know something about the field
status of the graphics card?

> 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.

MythTv can adapt replay speed to VGA timing if replaying recordings.
That means stream-recording is synchronized to VGA.

But this approach does not work for live-TV. In that case there is no
other way than to synchronize VGA to stream. The vga-sync-fields patch
synchronizes VGA to stream by introducing variable VGA output frame rates.

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

it works only for PAL/RGB compatible modelines on a conventional
Xserver. It does not work for TV out. At least I never tried because
of it's inferior signal quality.

Cheers
Thomas
_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


mythtv-dev at toh

Mar 29, 2009, 11:36 AM

Post #11 of 13 (1857 views)
Permalink
Re: Ticket #2903 is necessary to achieve perfect playback with an interleaved display mode. [In reply to]

On Sun, Mar 29, 2009 at 02:05:17PM +0100, Paul Gardiner wrote:
> Interesting you mention Intel i9xx. I had no idea that they supported
> the output of interlaced modes from VGA.

VGA2SCART is running very well on these chipsets. Most important
improvement over Radeons:

You even may scale the interlaced picture horizontally and vertically
without any distortions!

Obviously the chip deinterlaces internally prior to the scale action.

Thus I'm running my Asus EEE 701 (i915) and a Thinkpad R61 NF1FSGE (i965)
with VGA2SCART connection to a CRT TV.

Most of current Intel based netbooks (if based on i9xx architecture) are
RGB/SCART suitable.

Cheers
Thomas

_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


lists at glidos

Mar 31, 2009, 8:36 AM

Post #12 of 13 (1779 views)
Permalink
Re: Ticket #2903 is necessary to achieve perfect playback with an interleaved display mode. [In reply to]

Thomas Hilber wrote:
> On Sun, Mar 29, 2009 at 03:05:10PM +0100, Paul Gardiner wrote:
>> 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.
>
> but how does that work? Does MythTv know something about the field
> status of the graphics card?

No, I think it just keeps away from both vsyncs, not avoiding
frame dropping completely, but avoiding the repeated dropping.

>> 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.
>
> MythTv can adapt replay speed to VGA timing if replaying recordings.
> That means stream-recording is synchronized to VGA.
>
> But this approach does not work for live-TV. In that case there is no
> other way than to synchronize VGA to stream. The vga-sync-fields patch
> synchronizes VGA to stream by introducing variable VGA output frame rates.

Yes true.

>> Is vga-sync-fields restricted to VGA, or can it apply equally to
>> TV out?
>
> it works only for PAL/RGB compatible modelines on a conventional
> Xserver. It does not work for TV out. At least I never tried because
> of it's inferior signal quality.

What about HDMI? Does that count as TV out, or a VGA variant... I
suppose in any case DVI to HDMI can be used in the same way as
VGA to Scart.

Cheers,
Paul.

_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


mythtv-dev at toh

Mar 31, 2009, 11:37 PM

Post #13 of 13 (1751 views)
Permalink
Re: Ticket #2903 is necessary to achieve perfect playback with an interleaved display mode. [In reply to]

On Tue, Mar 31, 2009 at 04:36:41PM +0100, Paul Gardiner wrote:
> >it works only for PAL/RGB compatible modelines on a conventional
> >Xserver. It does not work for TV out. At least I never tried because
> >of it's inferior signal quality.
>
> What about HDMI? Does that count as TV out, or a VGA variant... I
> suppose in any case DVI to HDMI can be used in the same way as
> VGA to Scart.

for me HDMI counts clearly as 'VGA variant' here because only
conventional Xserver modelines are involved.

There is no such terrible things like TV encoders (as needed for TV-out)
etc. in effect.

The vga-sync-fields patch is capable to run 576i50 over DVI (==HDMI) on my
Pundit P1-P5945GC. The patch only needs a small modification for this
because timing registers are setup slightly different for DVI.

I think it's no problem to port the patch in a way to synchronize
HDTV related video timings to the stream. Without this essential
synchronisation you will experience the same frame/field drops known from
SDTV on HDTV also.

As a by-product of this you can use the deinterlacer of your TV.

Cheers
Thomas
_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

MythTV dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.