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

Tom Dexter digitalaudiorock at gmail.com
Sat Apr 11 12:30:39 UTC 2009


On Fri, Apr 10, 2009 at 1:52 PM, Tom Dexter <digitalaudiorock at gmail.com> wrote:
> On Sun, Mar 29, 2009 at 2:58 PM, Paul Gardiner <lists at glidos.net> wrote:
>
>> I think I've just sussed what is causing this. The deinterlacer gets
>> given each frame twice. Each time it overwrites the bottom field,
>> but leaves the top field unchanged. After each call the OSD will
>> be rendered over the frame. The fact that I don't update the
>> top field in the second call to the deinterlacer means the OSD gets
>> rendered over the top of a previous rendering. That doesn't matter
>> for a solid OSD, but if translucent the top field will be
>> darker than the bottom.
>>
>> Should be easy to fix:
>>
>> Change
>>
>>   if (y & tff)
>>   {
>>       if(parity)
>>       {
>>           /* Second call: put back the second field to its previous state */
>>           memcpy(dst + dst_offsets[i] + y*dst_stride[i],
>> &p->ref[nr_c][i][y*refs], w);
>>       }
>>       else
>>       {
>>           /* First call: replace second field by that of the previous frame
>> */
>>           memcpy(dst + dst_offsets[i] + y*dst_stride[i],
>> &p->ref[nr_p][i][y*refs], w);
>>       }
>>   }
>>
>> to
>>   if(parity)
>>   {
>>       /* Second call: put back the whole frame to its previous state.
>>        * Although we have not altered first field, we need to overwrite
>>        * it because the OSD will have been rendered to the copy passed
>>        * in. */
>>       memcpy(dst + dst_offsets[i] + y*dst_stride[i],
>> &p->ref[nr_c][i][y*refs], w);
>>   }
>>   else
>>   {
>>       /* First call: replace second field by that of the previous frame */
>>       if (y & tff)
>>       {
>>           memcpy(dst + dst_offsets[i] + y*dst_stride[i],
>> &p->ref[nr_p][i][y*refs], w);
>>       }
>>   }
>>
>
> Paul...a quick question about this OSD flicker fix.  Can you think of
> any reason that this fix could affect overall clarity of 1080i in any
> way?  I'm probably just getting cross-eyed from all this testing :D,
> but I almost thought the version without this fix may have been
> slightly clearer.  It's too bad I have no way to test one right after
> the other...I can only switch after a one hour re-compile.
>
> Just curious.  If there is in fact any difference it's extremely
> subtle, and may be only with those NBC shows.
>
> Tom
>

Never mind on that one.  After watching several shows in proper
lighting etc (using the original patch with the OSD flicker fix but
not the bottom-field-first fix), everything looks really
spectacular...even the Law and Order SVU that was one of the problem
recordings.

That bottom-field-first change, for whatever reason, really was
causing problems with those NBC shows.

Tom


More information about the mythtv-users mailing list