[mythtv-users] Viktor's Bob deint patch for interlaced modelines

Mark Kendall mark.kendall at gmail.com
Mon Jan 28 13:24:11 UTC 2008

On 28/01/2008, Steve Smith <st3v3.sm1th at gmail.com> wrote:

> I suspect when the FIELDS are shown out of order. But on my system it just
> works, so presumeably the BOB code is able to sync to FRAME (with my
> driver/card/myth/X combination) but the normal (non filtered) code isn't!

I'm starting to wonder whether it has something to do with the XV/XvMC
code and the nvidia driver(don't know about ati etc) somehow knowing
which is the first field of a frame. Alternatively it could just be
that presenting one field at a time allows the tv to figure it out -
though looking at the pal specs, there is some specific signalling
that tells the tv which is the first field of the frame.

> >So the question is, why can't you use bobdeint with your modeline? I'm
> >guessing (because I've seen the same problem) that X is reporting a
> >slightly erroneous refresh rate (i.e. slightly too low) and hence bob
>  >gets rejected
> Well in 0.20  bobdeint rejects any mode where the FRAME rate is less than 2x
> the signal framerate i.e. 50hz in PAL land.
> I suppose it's a question of semantics! The FRAME rate is still 25 but you
> can change the picture at 50hz. The 0.20 doesn't
> take this into account (that it can display the diff fields at 50hz on an
> interlaced display). Viktor's patc just fools the code into thinking the
> FRAME rate of the display is twice what it is, the correct method is simply
> to fix bobdeint itself so it realises the difference.

The code will/should only reject display modes where it believes the
display refresh rate (50Hz ideally) cannot support doubling the source
frame rate ie. from 25Hz to 50Hz.

What I see on at least one frontend (using both 720p and 1080i
modelines) is that xorg is actually returning a refresh rate of
something like 49.95Hz and hence bob (or any other framerate doubling
deinterlacer) is rejected.

This doesn't appear to be a mythtv issue (admittedly, it would be
better if the code gave a small amount of leeway) and the way I have
worked around it is to fire up xvidtune and tweak the modeline
slightly to increase the refresh rate.

You might just find this works for you without hacking mythtv.

> >A slightly cleaner way to do this would be to adapt a 2x onefield
> >filter - which would eliminate any osd flicker etc and might just
> >improve picture quality as there would be no bob adjustment or
>  >scaling.
> Actually yes 2x onefield (NOT the SAME field!) is exactly what's needed with
> an interlaced display.
> Basically it goes:
> <FRAME SYNC> 1st FIELD --->  Scale as appropriate ----> Display
> <field sync>       2nd FIELD --> Scale as appropriate ---> Display.
> <FRAME SYNC> 1st FIELD --->  Scale as appropriate ----> Display
> <field sync>       2nd FIELD --> Scale as appropriate ---> Display.
> etc. etc.
> Where "Scale as appropriate" means doing the necessary to display 16:9 on an
> 4:3 etc.
> So I am talking about 2xOnefield(with different fields) or BOBdeint here? I
> don't know. But that's the effect I'm after.
> (Maybe it should be called 2xBOTHfields!?!? But isn't that the same as bob?)

Well, either my code is broken (not unlikely) or there is more to it
than that because bob seems to be working very well (apart from the
osd flicker) whereas 2x Onefield works intermittently.

Need to clear head!

More information about the mythtv-users mailing list