Ticket #2649: openglv2.diff

File openglv2.diff, 7.7 KB (added by anonymous, 17 years ago)
  • configure

     
    127127  echo "  --disable-xvmc-opengl    disable nVidia XvMC OpenGL texture method"
    128128  echo "  --xvmc-lib=LIB           XvMC library override (for crosscompiling)"
    129129  #echo "  --disable-xvmc-vld       disable XvMC-VLD (VIA Epia MPEG accel.)"
     130  echo "  --enable-opengl-video    enable opengl based video display "
    130131  echo "  --enable-mac-accel       enable Mac OS X MPEG acceleration"
    131132  echo "  --enable-opengl-vsync    enable OpenGL vsync method"
    132133  echo "  --enable-directfb        enable DirectFB  (Linux non-X11 video)"
     
    430431xvmc_pro="no"
    431432xvmc_opengl="no"
    432433xvmc_lib=""
     434opengl_video="no"
    433435dvdv="no"
    434436mac_corevideo="no"
    435437opengl_vsync="no"
     
    11771179  ;;
    11781180  --xvmc-lib=*) xvmc_lib="$optval"
    11791181  ;;
     1182  --enable-opengl-video) opengl_video="yes"
     1183  ;;
     1184  --disable-opengl-video) opengl_video="no"
     1185  ;;
    11801186  --enable-mac-accel) dvdv="yes"
    11811187  ;;
    11821188  --disable-mac-accel) dvdv="no"
     
    25512557fi
    25522558
    25532559if ! has_library libGL ; then
     2560    opengl_video="no"
    25542561    xvmc_opengl="no"
    25552562    opengl_vsync="no"
    25562563fi
     
    25632570    opengl="yes"
    25642571fi
    25652572
     2573if test x"$opengl_video" = x"yes" ; then
     2574    opengl="yes"
     2575fi
     2576
    25662577if test x"$dvdv" = x"yes" ; then
    25672578    # Can only do Mac accel on Mac platform
    25682579    if test $targetos != Darwin; then
     
    27392750if test "$VENDOR_XVMC_LIBS" != "" ; then
    27402751  echo "XvMC libs        $VENDOR_XVMC_LIBS"
    27412752fi
     2753  echo "OpenGL video     $opengl_video"
    27422754  echo "Mac acceleration $dvdv"
    27432755  echo "OpenGL vsync     $opengl_vsync"
    27442756  echo "DirectFB         $direct_fb"
     
    34963508  fi
    34973509fi
    34983510
     3511if test x"$opengl_video" = x"yes"; then
     3512  CCONFIG="$CCONFIG using_opengl_video"
     3513fi
     3514
    34993515if test x"$direct_fb" = x"yes" ; then
    35003516  CCONFIG="$CCONFIG using_directfb"
    35013517  echo "CONFIG_DIRECTFB_LIBS=$CONFIG_DIRECTFB_LIBS" >> $MYTH_CONFIG_MAK
  • libs/libmythtv/NuppelVideoPlayer.cpp

     
    845845        return;
    846846
    847847    bool interlaced = scan == kScan_Interlaced || kScan_Intr2ndField == scan;
    848     if (interlaced)
    849     {
    850         m_scan = scan;
    851         return;
    852     }
    853848
    854849    if (interlaced)
    855850    {
  • libs/libmythtv/libmythtv.pro

     
    302302    using_xvmc_opengl:DEFINES += USING_XVMC_OPENGL
    303303    using_opengl_vsync:DEFINES += USING_OPENGL_VSYNC
    304304
     305    using_opengl_video:DEFINES += USING_OPENGL_VIDEO
     306    using_opengl_video:HEADERS += videoout_opengl.h util-opengl.h
     307    using_opengl_video:SOURCES += videoout_opengl.cpp util-opengl.cpp
     308
    305309    # Misc. frontend
    306310    HEADERS += guidegrid.h              infostructs.h
    307311    HEADERS += progfind.h               ttfont.h
  • libs/libmythtv/frame.h

     
    1818    FMT_IA44,
    1919    FMT_AI44,
    2020    FMT_ARGB32,
    21     FMT_YUV422P
     21    FMT_YUV422P,
     22    FMT_ALPHA
    2223} VideoFrameType;
    2324
    2425typedef struct VideoFrame_
  • libs/libmythtv/videooutbase.cpp

     
    2828#include "videoout_quartz.h"
    2929#endif
    3030
     31#ifdef USING_OPENGL_VIDEO
     32#include "videoout_opengl.h"
     33#endif
     34
    3135#include "videoout_null.h"
    3236
    3337#include "dithertable.h"
     
    4953{
    5054    (void)type;
    5155
     56#ifdef USING_OPENGL_VIDEO
     57    if (gContext->GetNumSetting("UseOpenglVideo", false))
     58        return new VideoOutputOpengl();
     59#endif
     60
    5261#ifdef USING_IVTV
    5362    if (type == kVideoOutput_IVTV)
    5463        return new VideoOutputIvtv();
     
    379388bool VideoOutput::NeedsDoubleFramerate() const
    380389{
    381390    // Bob deinterlace requires doubling framerate
    382     return (m_deintfiltername == "bobdeint" && m_deinterlacing);
     391    return ((m_deintfiltername.contains("bobdeint") ||
     392             m_deintfiltername.contains("progressive"))
     393             && m_deinterlacing);
    383394}
    384395
    385396/**
  • libs/libmythtv/videooutbase.h

     
    342342                     int keepprebuffer);
    343343
    344344    virtual void ShowPip(VideoFrame *frame, NuppelVideoPlayer *pipplayer);
    345     int DisplayOSD(VideoFrame *frame, OSD *osd, int stride = -1, int revision = -1);
     345    virtual int DisplayOSD(VideoFrame *frame, OSD *osd, int stride = -1, int revision = -1);
    346346
    347347    virtual void SetPictureAttributeDBValue(int attributeType, int newValue);
    348348    virtual QRect GetVisibleOSDBounds(float&, float&) const;
     
    355355
    356356    void ResizeVideo(VideoFrame *frame);
    357357    void DoVideoResize(const QSize &inDim, const QSize &outDim);
    358     void ShutdownVideoResize(void);
     358    virtual void ShutdownVideoResize(void);
    359359
    360360    void SetVideoAspectRatio(float aspect);
    361361
  • libs/libmythtv/videodisplayprofile.cpp

     
    588588        return QObject::tr("Bob (2x framerate)");
    589589    else if ("onefield" == short_name)
    590590        return QObject::tr("One field");
    591 
     591    else if ("opengllinearblend" == short_name)
     592        return QObject::tr("Opengl Linear blend");
     593    else if ("openglkerneldeint" == short_name)
     594        return QObject::tr("Opengl Kernel");
     595    else if ("openglbobdeint" == short_name)
     596        return QObject::tr("Opengl Bob (2x framerate)");
     597    else if ("openglonefield" == short_name)
     598        return QObject::tr("Opengl One field");
     599    else if ("openglprogressivelinearblend" == short_name)
     600        return QObject::tr("Opengl Progressive (Linear blend)");
     601    else if ("openglprogressiveonefield" == short_name)
     602        return QObject::tr("Opengl Progressive (One Field)");
     603    else if ("openglprogressivekerneldeint" == short_name)
     604        return QObject::tr("Opengl Progressive (Kernel)");
    592605    return "";
    593606}
    594607
     
    931944"xv-blit"
    932945"xvmc-blit"
    933946"xvmc-opengl"
     947"opengl"
    934948"directfb"
    935949"directx"
    936950"quartz-blit"
     
    966980    safe_custom += "directx";
    967981    safe_custom += "quartz-blit";
    968982    safe_custom += "xv-blit";
     983#ifdef USING_OPENGL_VIDEO
     984    safe_custom += "opengl";
     985    safe_deint["opengl"] += "bobdeint";
     986    safe_deint["opengl"] += "openglbobdeint";
     987    safe_deint["opengl"] += "openglprogressivelinearblend";
     988    safe_deint["opengl"] += "openglprogressiveonefield";
     989    safe_deint["opengl"] += "openglprogressivekerneldeint";
     990    safe_deint["opengl"] += "opengllinearblend";
     991    safe_deint["opengl"] += "openglkerneldeint";
     992    safe_deint["opengl"] += "openglonefield";
     993    safe_osd["opengl"] += "opengl";
     994#endif
    969995
    970996    safe_list_t::const_iterator it;
    971997    for (it = safe_custom.begin(); it != safe_custom.end(); ++it)
     
    10121038        safe_renderer[*it2] += "directx";
    10131039        safe_renderer[*it2] += "quartz-blit";
    10141040        safe_renderer[*it2] += "xv-blit";
     1041#ifdef USING_OPENGL_VIDEO
     1042        safe_renderer[*it2] += "opengl";
     1043#endif
    10151044    }
    10161045
    10171046    safe_renderer["xvmc"]     += "xvmc-blit";