[mythtv] patch to fix strange display position in EPG

Chris Pinkham cpinkham at bc2va.org
Tue Mar 2 22:43:33 EST 2004


> When I set minus values for "Horizonal over/underscan percentage" in
> playback settings and bring up the EPG, position of the area for
> displaying live TV(should be at upper right) goes to upper left.
> 
> Here's a patch which will fix the problem.
> It also fixes the typo in message.

I applied the underscan portions of the patch but was wondering if you tested
and needed the overscan portions applied or if you just added those to make
them agree with the underscan lines.  I didn't seem to need the two overscan
lines patched and in fact when I did apply those two lines it appeared to
break the video in the EPG when I had overscan turned ON.  I also applied
the spelling/wording correction as well.  If it appears the overscan portion
does need to be applied to work on your system let me know because maybe the
problem lies elsewhere instead of those 2 lines.

Thanks,
Chris

> --- mythtv-0.14/libs/libmythtv/videooutbase.cpp~	2004-02-23 20:46:55.000000000 +0900
> +++ mythtv-0.14/libs/libmythtv/videooutbase.cpp	2004-02-24 01:36:19.544542869 +0900
> @@ -271,7 +271,7 @@
>      if (img_vscanf > 0) 
>      {
>          // Veritcal overscan. Move the Y start point in original image.
> -        imgy = (int)floor(0.5 + XJ_height * img_vscanf);
> +        imgy = (int)floor(0.5 + XJ_height * img_vscanf) + dispy;
>          imgh = (int)floor(0.5 + XJ_height * (1 - 2 * img_vscanf));
>  
>          // If there is an offset, apply it now that we have a room.
> @@ -296,7 +296,7 @@
>      if (img_hscanf > 0) 
>      {
>          // Horizontal overscan. Move the X start point in original image.
> -        imgx = (int)floor(0.5 + XJ_width * img_hscanf);
> +        imgx = (int)floor(0.5 + XJ_width * img_hscanf) + dispx;
>          imgw = (int)floor(0.5 + XJ_width * (1 - 2 * img_hscanf));
>          if (xoff > 0) 
>          {
> @@ -318,7 +318,7 @@
>          // Vertical underscan. Move the starting Y point in the display window.
>          // Use the abolute value of scan factor.
>          vscanf = fabs(img_vscanf);
> -        dispyoff = (int)floor(0.5 + disph * vscanf);
> +        dispyoff = (int)floor(0.5 + disph * vscanf) + dispy;
>          disphoff = (int)floor(0.5 + disph * (1 - 2 * vscanf));
>          // Now offset the image within the extra blank space created by
>          // underscanning.
> @@ -342,7 +342,7 @@
>      if (img_hscanf < 0) 
>      {
>          hscanf = fabs(img_hscanf);
> -        dispxoff = (int)floor(0.5 + dispw * hscanf);
> +        dispxoff = (int)floor(0.5 + dispw * hscanf) + dispx;
>          dispwoff = (int)floor(0.5 + dispw * (1 - 2 * hscanf));
>          if (xoff > 0) 
>          {
> @@ -434,7 +434,7 @@
>  
>   
>      VERBOSE(VB_PLAYBACK,
> -            QString("Image size. dispxoff %1, dispxoff: %2, dispwoff: %3, "
> +            QString("Image size. dispxoff %1, dispyoff: %2, dispwoff: %3, "
>                      "disphoff: %4")
>              .arg(dispxoff).arg(dispyoff).arg(dispwoff).arg(disphoff));
>  
> 
> -----------------------
> Takeru Komoriya
>  komoriya at paken.org
>  http://www.paken.org/

-- 

Chris





More information about the mythtv-dev mailing list