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

Steve Smith st3v3.sm1th at gmail.com
Mon Jan 28 09:51:10 UTC 2008


On 28/01/2008, Mark Kendall <mark.kendall at gmail.com> wrote:
>
> On 28/01/2008, Mark Kendall <mark.kendall at gmail.com> wrote:
> >
> > Try the attached (against svn). This should give you a new CPU based
> > 'Interlaced (2x)' deinterlacer option. Not tested extensively, and
> > still needs some refinement, but appears to be working as expected.
>
> Actually...
>
> I just went back to basics as I was looking into why my patch didn't
> get a sync 100% of the time. So I went back to bobdeint and it just
> works - seemingly 100% of the time.
>
> 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.
>
> 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.
>
> Ah. The never ending joy of tinkering with mythtv!
>
> Mark
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users
>

Mark,

Yes on 0.20.2 (that I'm using) it's a mystery why bob works at all!
Why?

Well (remember I'm using a standard Interlace CRT TV with RGB-SCART drive),
when I try to play
full frame, non-scaled interlaced PAL content WITHOUT BOB, it doesn't get
the sync to FRAME correctly.

Theorectically BOB deint would also need to sync to FRAME correctly,
otherwise you'd get some wierd combing effects
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!

Of course, BOB is required whenever you do scaling (because bob enforces the
order of fields, you can scale the fields then display them in the correct
order).

Unfortunately I won't be able to try your patch for some time (weeks) I'm
afraid....first I'd have to move to SVN! And I'd like to guard my regression
path whilst I do it, as decent output is more important to me than the whizz
bang features of SVN.

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

>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?)

Of course I'm sure you know all this several times over!

>Re-reading the above, it has also occurred to me that you won't be
>able to use XvMC with this as you can't filter an XvMC/partially
>decoded frame. But see what results you get and get back to me.

That's interesting, I'm obviously missing some subtleties with how
XvMC/bobdeint works here, but currently I'm using
XvMC+Bobdeint+ViktorsHack on an interlaced display and it works. Has this
changed from 0.20->0.21?


Cheers

Steve
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mythtv.org/pipermail/mythtv-users/attachments/20080128/c1fe631b/attachment.htm 


More information about the mythtv-users mailing list