Ticket #13230: greenline.patch

File greenline.patch, 2.3 KB (added by Mark Spieth, 16 months ago)

greenline patch v1. invert needs checking.

  • mythtv/libs/libmythtv/openglvideo.cpp

    diff --git a/mythtv/libs/libmythtv/openglvideo.cpp b/mythtv/libs/libmythtv/openglvideo.cpp
    index 0ab57caa72..c12659d42d 100644
    a b void OpenGLVideo::PrepareFrame(bool topfieldfirst, FrameScanType scan, 
    962962
    963963        // only apply overscan on last filter
    964964        if (filter->outputBuffer == kDefaultBuffer)
    965             trect.setCoords(video_rect.left(),  video_rect.top(),
    966                             video_rect.left() + video_rect.width(),
    967                             video_rect.top()  + video_rect.height());
     965            trect.setRect(video_rect.left(),  video_rect.top(),
     966                          video_rect.width(), video_rect.height());
    968967
    969968        if (!textureRects && (inputsize.height() > 0))
    970969            trueheight /= inputsize.height();
    void OpenGLVideo::PrepareFrame(bool topfieldfirst, FrameScanType scan, 
    980979            float bob = (trueheight / (float)video_disp_dim.height()) / 4.0f;
    981980            if ((top && !first) || (bot && first))
    982981            {
    983                 trect.setBottom(trect.bottom() / 2);
     982                trect.setHeight(trect.height() / 2);
    984983                trect.setTop(trect.top() / 2);
    985984                trect.adjust(0, bob, 0, bob);
    986985            }
    987986            if ((bot && !first) || (top && first))
    988987            {
     988                trect.setHeight((trueheight / 2) + (trect.height() / 2));
    989989                trect.setTop((trueheight / 2) + (trect.top() / 2));
    990                 trect.setBottom((trueheight / 2) + (trect.bottom() / 2));
    991990                trect.adjust(0, -bob, 0, -bob);
    992991            }
    993992        }
    void OpenGLVideo::PrepareFrame(bool topfieldfirst, FrameScanType scan, 
    10161015            if (filters.size() > 1)
    10171016            {
    10181017                vrect.setTop((visible.height()) - display.top());
    1019                 vrect.setBottom(vrect.top() - (display.height()));
     1018                vrect.setBottom(vrect.top() - (display.height() - 1));
    10201019            }
    10211020            else
    10221021            {
    10231022                vrect.setBottom(display.top());
    1024                 vrect.setTop(display.top() + (display.height()));
     1023                // TODO is this correct since now bottom is < top?
     1024                vrect.setTop(display.top() + (display.height() - 1));
    10251025            }
    10261026        }
    10271027