[mythtv-users] New deinterlacer for perfect image quality when using an interlaced display, mode that matches the source

Tom Dexter digitalaudiorock at gmail.com
Sun Apr 12 15:42:03 UTC 2009


On Sun, Apr 12, 2009 at 8:33 AM, Paul Gardiner <lists at glidos.net> wrote:
> Tom Dexter wrote:
>>
>> That bottom-field-first change, for whatever reason, really was
>> causing problems with those NBC shows.
>
> Thanks. That's useful to know. Not sure of the solution. Theoretically
> the bottom-field-first change is an improvement, and certain types
> of content would not display correctly without it. Funny isn't it?!
> I used the test "y & tff" in my version by mistake. I always intended
> Mark's logic. Lucky mistake in this instance!
>
> One more version worth trying if you at some stage have the time:
>
> where you replaced
>
>   ((y ^ tff) & 1) == 0
>
> by
>
>   y & tff
>
> could you try
>
>   (y & 1) != 0
>
> ?
>
>
> First version is "apply algorithm correctly for all frame types"
>
> Second is "apply algorithm only for top-field-first frames"
>
> Third is "always apply algorithm, but assume top-field-first
> even if flag says otherwise"
>
> Cheers,
>        Paul.
>

OK...now I think we're getting somewhere.  I tried your change above
and everything looked good.  That got me thinking this:  Perhaps the
top_field_first is just defaulting to 0 for those progressive frames
NBC is mixing into the content.  Am I correct that that property
doesn't really even apply to interlaced frames?  In any case, it
occurred to me that those may need to be treated like top field first
interlaced frames to look correct.

To test that I took the newest 0.21 modified version of Marks patch
(mythtv-0.21-field-order.6.patch), and simply changed the tff field
being passed to filter_func to this:

    filter_func(
        filter, frame->buf, frame->offsets, frame->pitches,
        frame->width, frame->height, dirty, frame->top_field_first |
!frame->interlaced_frame,
        dirty);

...and so far, everything looks flawless.  I'm not sure that this is
always the desired behavior or not, as I really don't understand
anything about the ramifications of progressive frames in interlaced
content.  However, if your broadcasters never mixes progressive frames
into interlaced content, this change will have no affect at all.

Let me know what you think.  I'll leave that version installed and see
how things go, but so far it seems great.

Tom


More information about the mythtv-users mailing list