Index: mythtv-vid/configure
===================================================================
--- mythtv-vid/configure        (revision 11666)
+++ mythtv-vid/configure        (working copy)
@@ -128,6 +128,7 @@
   echo "  --disable-xvmc-opengl    disable nVidia XvMC OpenGL texture method"
   echo "  --xvmc-lib=LIB           XvMC library override (for crosscompiling)"
   #echo "  --disable-xvmc-vld       disable XvMC-VLD (VIA Epia MPEG accel.)"
+  echo "  --enable-opengl-video    enable opengl based video display "
   echo "  --enable-mac-accel       enable Mac OS X MPEG acceleration"
   echo "  --enable-opengl-vsync    enable OpenGL vsync method"
   echo "  --enable-directfb        enable DirectFB  (Linux non-X11 video)"
@@ -419,6 +420,7 @@
 xvmc_pro="no"
 xvmc_opengl="no"
 xvmc_lib=""
+opengl_video="no"
 dvdv="no"
 mac_corevideo="no"
 opengl_vsync="no"
@@ -1171,6 +1173,10 @@
   ;;
   --xvmc-lib=*) xvmc_lib="$optval"
   ;;
+  --enable-opengl-video) opengl_video="yes"
+  ;;
+  --disable-opengl-video) opengl_video="no"
+  ;;
   --enable-mac-accel) dvdv="yes"
   ;;
   --disable-mac-accel) dvdv="no"
@@ -2540,6 +2546,7 @@
 fi

 if ! has_library libGL ; then
+    opengl_video="no"
     xvmc_opengl="no"
     opengl_vsync="no"
 fi
@@ -2552,6 +2559,10 @@
     opengl="yes"
 fi

+if test x"$opengl_video" = x"yes" ; then
+    opengl="yes"
+fi
+
 if test x"$dvdv" = x"yes" ; then
     # Can only do Mac accel on Mac platform
     if test $targetos != Darwin; then
@@ -2729,6 +2740,7 @@
 if test "$VENDOR_XVMC_LIBS" != "" ; then
   echo "XvMC libs        $VENDOR_XVMC_LIBS"
 fi
+  echo "OpenGL video     $opengl_video"
   echo "Mac acceleration $dvdv"
   echo "OpenGL vsync     $opengl_vsync"
   echo "DirectFB         $direct_fb"
@@ -3477,6 +3489,10 @@
   fi
 fi

+if test x"$opengl_video" = x"yes"; then
+  CCONFIG="$CCONFIG using_opengl_video"
+fi
+
 if test x"$direct_fb" = x"yes" ; then
   CCONFIG="$CCONFIG using_directfb"
   echo "CONFIG_DIRECTFB_LIBS=$CONFIG_DIRECTFB_LIBS" >> $MYTH_CONFIG_MAK
Index: mythtv-vid/libs/libmythtv/libmythtv.pro
===================================================================
--- mythtv-vid/libs/libmythtv/libmythtv.pro     (revision 11666)
+++ mythtv-vid/libs/libmythtv/libmythtv.pro     (working copy)
@@ -290,6 +290,10 @@
     using_xvmc_opengl:DEFINES += USING_XVMC_OPENGL
     using_opengl_vsync:DEFINES += USING_OPENGL_VSYNC

+    using_opengl_video:DEFINES += USING_OPENGL_VIDEO
+    using_opengl_video:HEADERS += videoout_opengl.h
+    using_opengl_video:SOURCES += videoout_opengl.cpp
+
     # Misc. frontend
     HEADERS += guidegrid.h              infostructs.h
     HEADERS += progfind.h               ttfont.h
Index: mythtv-vid/libs/libmythtv/videooutbase.cpp
===================================================================
--- mythtv-vid/libs/libmythtv/videooutbase.cpp  (revision 11666)
+++ mythtv-vid/libs/libmythtv/videooutbase.cpp  (working copy)
@@ -28,6 +28,10 @@
 #include "videoout_quartz.h"
 #endif

+#ifdef USING_OPENGL_VIDEO
+#include "videoout_opengl.h"
+#endif
+
 #include "videoout_null.h"

 #include "dithertable.h"
@@ -49,6 +53,11 @@
 {
     (void)type;

+#ifdef USING_OPENGL_VIDEO
+    if (gContext->GetNumSetting("UseOpenglVideo", false))
+        return new VideoOutputOpengl();
+#endif
+
 #ifdef USING_IVTV
     if (type == kVideoOutput_IVTV)
         return new VideoOutputIvtv();
Index: mythtv-vid/libs/libmythtv/videodisplayprofile.cpp
===================================================================
--- mythtv-vid/libs/libmythtv/videodisplayprofile.cpp   (revision 11666)
+++ mythtv-vid/libs/libmythtv/videodisplayprofile.cpp   (working copy)
@@ -923,6 +923,7 @@
 "xv-blit"
 "xvmc-blit"
 "xvmc-opengl"
+"opengl"
 "directfb"
 "directx"
 "quartz-blit"
@@ -958,6 +959,9 @@
     safe_custom += "directx";
     safe_custom += "quartz-blit";
     safe_custom += "xv-blit";
+#ifdef USING_OPENGL_VIDEO
+    safe_custom += "opengl";
+#endif

     safe_list_t::const_iterator it;
     for (it = safe_custom.begin(); it != safe_custom.end(); ++it)
@@ -1004,6 +1008,9 @@
         safe_renderer[*it2] += "directx";
         safe_renderer[*it2] += "quartz-blit";
         safe_renderer[*it2] += "xv-blit";
+#ifdef USING_OPENGL_VIDEO
+        safe_renderer[*it2] += "opengl";
+#endif
     }

     safe_renderer["xvmc"]     += "xvmc-blit";
