Ticket #5324: mythtv-vid-18a.diff

File mythtv-vid-18a.diff, 2.5 KB (added by mark.kendall@…, 4 years ago)

Don't try and upsample interlaced frames when using software bobdeint.

  • libs/libmythtv/openglvideo.cpp

    diff -ur -X excl mythtv-vid-18/libs/libmythtv/openglvideo.cpp mythtv-vid-18a/libs/libmythtv/openglvideo.cpp
    old new  
    275275        } 
    276276        else 
    277277        { 
    278             last_filter = false; 
    279278            it->second->outputBuffer = kDefaultBuffer; 
     279            last_filter = false; 
    280280        } 
    281281 
    282282        buffers_needed = it->second->numInputs; 
     
    543543} 
    544544 
    545545// locking ok 
    546 void OpenGLVideo::UpdateInputFrame(const VideoFrame *frame) 
     546void OpenGLVideo::UpdateInputFrame(const VideoFrame *frame, bool soft_bob) 
    547547{ 
    548548    OpenGLContextLocker ctx_lock(gl_context); 
    549549 
     
    560560    { 
    561561        gl_context->UpdateTexture(inputTextures[0], frame->buf, 
    562562                                  frame->offsets, frame->pitches, FMT_YV12, 
    563                                   frame->interlaced_frame); 
     563                                  frame->interlaced_frame && !soft_bob); 
    564564        inputUpdated = true; 
    565565        return; 
    566566    } 
  • libs/libmythtv/openglvideo.h

    diff -ur -X excl mythtv-vid-18/libs/libmythtv/openglvideo.h mythtv-vid-18a/libs/libmythtv/openglvideo.h
    old new  
    6161              bool viewport_control, bool osd = FALSE, 
    6262              LetterBoxColour letterbox_colour = kLetterBoxColour_Black); 
    6363 
    64     void UpdateInputFrame(const VideoFrame *frame); 
     64    void UpdateInputFrame(const VideoFrame *frame, bool soft_bob = FALSE); 
    6565    void UpdateInput(const unsigned char *buf, const int *offsets, 
    6666                     int format, QSize size, 
    6767                     const unsigned char *alpha); 
  • libs/libmythtv/videoout_xv.cpp

    diff -ur -X excl mythtv-vid-18/libs/libmythtv/videoout_xv.cpp mythtv-vid-18a/libs/libmythtv/videoout_xv.cpp
    old new  
    37963796            DisplayOSD(frame, osd); 
    37973797    } 
    37983798 
     3799    bool soft_bob = m_deinterlacing && (m_deintfiltername == "bobdeint"); 
     3800 
    37993801    if (gl_videochain) 
    3800         gl_videochain->UpdateInputFrame(frame); 
     3802        gl_videochain->UpdateInputFrame(frame, soft_bob); 
    38013803} 
    38023804 
    38033805void VideoOutputXv::ProcessFrameMem(VideoFrame *frame, OSD *osd,