[mythtv-users] Bob deinterlacing not working

William Munson w.munson at comcast.net
Mon Mar 3 00:57:27 UTC 2008


Steve Peters - Priority Electronics wrote:
> -----Original Message-----
> From: mythtv-users-bounces at mythtv.org
> [mailto:mythtv-users-bounces at mythtv.org] On Behalf Of Tom Dexter
> Sent: Sunday, March 02, 2008 7:19 AM
> To: Discussion about mythtv
> Subject: Re: [mythtv-users] Bob deinterlacing not working
>
>
> On Sat, Mar 1, 2008 at 5:32 PM, William Munson <w.munson at comcast.net> wrote:
>   
>>  Where and how to patch your software depends on your installation. If  
>> you are running a prepackaged binary (.rpm or .deb) then you are 
>> pretty  much out of luck unless you are willing to learn how to 
>> compile and  install your own customized version. I am currently 
>> running/compiling  0.21-fixes svn driving a hdtv monitor that only 
>> does 1080i. Myth  complains that the bitrate is too low and will not 
>> do bob. I made a  small patch which effectively lies to myth and 
>> doubles the bitrate and  enabled bob2x. The display looks great and is 
>> well deinterlaced. If you  want this diff write me off list and I will 
>> take a look in the code and  find it again. I will only work against 
>> svn trunk or 0.21-fixes branches.
>>
>>  Vicktors origional patch is here:
>>
>>  
>> http://svn.mythtv.org/trac/attachment/ticket/2903/interlaced_refresh_r
>> ate.diff
>>
>>     
>
> A patch that would work with the current 0.20-fixes would look like this:
>
> Index: libs/libmythtv/videoout_xv.cpp
> ===================================================================
> --- libs/libmythtv/videoout_xv.cpp
> +++ libs/libmythtv/videoout_xv.cpp
> @@ -306,6 +306,9 @@
>
>      rate = (dot_clock * 1000.0) / rate;
>
> +    if (mode_line.flags & 0x010) // #define V_INTERLACE 0x010
> +        rate = rate * 2;
> +
>      // Assume 60Hz if rate isn't good:
>      if (rate < 20 || rate > 200)
>      {
>
>
> Tom
>   
And just for documentation sake: The patch for current 0.21-fixes branch 
is as follows.

Index: videoout_xv.cpp
===================================================================
--- videoout_xv.cpp     (revision 16332)
+++ videoout_xv.cpp     (working copy)
@@ -364,6 +364,10 @@

     rate = (dot_clock * 1000.0) / rate;

+       // Patch to double interlaced framerate
+       if (mode_line.flags && 0x010) // #define V_INTERLACE 0x010
+         rate = rate * 2;          // if modeline is interlaced then 
double the effective refresh rate
+
     // Assume 60Hz if rate isn't good:
     if (rate < 20 || rate > 200)
     {



More information about the mythtv-users mailing list