Index: libs/libmythtv/videoout_xv.cpp
===================================================================
--- libs/libmythtv/videoout_xv.cpp	(revision 10280)
+++ libs/libmythtv/videoout_xv.cpp	(working copy)
@@ -65,8 +65,8 @@
 static void SetFromEnv(bool &useXvVLD, bool &useXvIDCT, bool &useXvMC,
                        bool &useXV, bool &useShm);
 static void SetFromHW(Display *d, bool &useXvMC, bool &useXV, bool& useShm);
+static int calc_hue_base(const QString &adaptor_name);
 
-
 /** \class  VideoOutputXv
  * Supports common video output methods used with %X11 Servers.
  *
@@ -751,6 +751,11 @@
         return false;
     }
 
+    VERBOSE(VB_IMPORTANT, LOC + QString("XvMC Adaptor Name: '%1'")
+            .arg(adaptor_name));
+
+    xv_hue_base = calc_hue_base(adaptor_name);
+
     InstallXErrorHandler(XJ_disp);
 
     // create XvMC buffers
@@ -818,13 +823,7 @@
     VERBOSE(VB_IMPORTANT, LOC + QString("XVideo Adaptor Name: '%1'")
             .arg(adaptor_name));
 
-    xv_hue_base = 0; //< nVidia normal
-    if ((adaptor_name == "ATI Radeon Video Overlay") ||
-        (adaptor_name == "XV_SWOV" /* VIA 10K & 12K */) ||
-        (adaptor_name == "Savage Streams Engine" /* S3 Prosavage DDR-K */))
-    {
-        xv_hue_base = 50;
-    }
+    xv_hue_base = calc_hue_base(adaptor_name);
 
     InstallXErrorHandler(XJ_disp);
 
@@ -3426,3 +3425,15 @@
     } // switch(codec_id)
     return ret;
 }
+
+static int calc_hue_base(const QString &adaptor_name)
+{
+    if ((adaptor_name == "ATI Radeon Video Overlay") ||
+        (adaptor_name == "XV_SWOV" /* VIA 10K & 12K */) ||
+        (adaptor_name == "Savage Streams Engine" /* S3 Prosavage DDR-K */))
+    {
+        return 50;
+    }
+
+    return 0; //< nVidia normal
+}
