Index: libs/libmythtv/videoouttypes.h
===================================================================
--- libs/libmythtv/videoouttypes.h	(revision 14593)
+++ libs/libmythtv/videoouttypes.h	(working copy)
@@ -47,6 +47,14 @@
     kAdjustFill_END
 } AdjustFillMode;
 
+typedef enum LetterBoxColour
+{
+    kLetterBoxColour_Toggle = -1,
+    kLetterBoxColour_Black = 0,
+    kLetterBoxColour_Gray25,
+    kLetterBoxColour_END
+} LetterBoxColour;
+
 typedef enum FrameScanType
 {
     kScan_Ignore       = -1,
@@ -136,6 +144,32 @@
     return QDeepCopy<QString>(ret);
 }
 
+inline QString toString(LetterBoxColour letterboxcolour)
+{ 
+    QString ret = QObject::tr("Black");
+    switch (letterboxcolour)
+    {
+        case kLetterBoxColour_Gray25: ret = QObject::tr("Gray"); break;
+        case kLetterBoxColour_Black:
+        case kLetterBoxColour_Toggle:
+        case kLetterBoxColour_END: break;
+    }
+    return QDeepCopy<QString>(ret);
+}
+
+inline QString toXString(LetterBoxColour letterboxcolour)
+{ 
+    QString ret = "gray0";
+    switch (letterboxcolour)
+    {
+        case kLetterBoxColour_Gray25: ret = "gray25"; break;
+        case kLetterBoxColour_Black:
+        case kLetterBoxColour_Toggle:
+        case kLetterBoxColour_END: break;
+    }
+    return QDeepCopy<QString>(ret);
+}
+
 inline float get_aspect_override(AspectOverrideMode aspectmode, float orig)
 {
     float ret = orig;
Index: libs/libmythtv/videooutbase.cpp
===================================================================
--- libs/libmythtv/videooutbase.cpp	(revision 14593)
+++ libs/libmythtv/videooutbase.cpp	(working copy)
@@ -242,6 +242,7 @@
     db_scale_horiz(0.0f),               db_scale_vert(0.0f),
     db_pip_location(kPIPTopLeft),       db_pip_size(26),
     db_aspectoverride(kAspect_Off),     db_adjustfill(kAdjustFill_Off),
+    db_letterbox_colour(kLetterBoxColour_Black),
     db_deint_filtername(QString::null),
     db_vdisp_profile(new VideoDisplayProfile()),
 
@@ -309,6 +310,8 @@
         gContext->GetNumSetting("AspectOverride",      0);
     db_adjustfill = (AdjustFillMode)
         gContext->GetNumSetting("AdjustFill",          0);
+    db_letterbox_colour = (LetterBoxColour)
+        gContext->GetNumSetting("LetterboxColour",     0);
 }
 
 /**
Index: libs/libmythtv/videoout_xv.h
===================================================================
--- libs/libmythtv/videoout_xv.h	(revision 14592)
+++ libs/libmythtv/videoout_xv.h	(working copy)
@@ -214,6 +214,7 @@
     int                  XJ_screen_num;
     unsigned long        XJ_white;
     unsigned long        XJ_black;
+    unsigned long        XJ_letterbox_colour;
     int                  XJ_depth;
     int                  XJ_screenx;
     int                  XJ_screeny;
Index: libs/libmythtv/videoout_xv.cpp
===================================================================
--- libs/libmythtv/videoout_xv.cpp	(revision 14592)
+++ libs/libmythtv/videoout_xv.cpp	(working copy)
@@ -105,7 +105,8 @@
       use_i420_hack_for_broken_driver(false),
 
       XJ_root(0),  XJ_win(0), XJ_curwin(0), XJ_gc(0), XJ_screen(NULL),
-      XJ_disp(NULL), XJ_screen_num(0), XJ_white(0), XJ_black(0), XJ_depth(0),
+      XJ_disp(NULL), XJ_screen_num(0),
+      XJ_white(0), XJ_black(0), XJ_letterbox_colour(0), XJ_depth(0),
       XJ_screenx(0), XJ_screeny(0), XJ_screenwidth(0), XJ_screenheight(0),
       XJ_started(false),
 
@@ -1530,8 +1531,18 @@
     XJ_root       = DefaultRootWindow(XJ_disp);
     XJ_gc         = XCreateGC(XJ_disp, XJ_win, 0, 0);
     XJ_depth      = DefaultDepthOfScreen(XJ_screen);
+
+    // The letterbox color..
+    XJ_letterbox_colour = XJ_black;
+    Colormap cmap = XDefaultColormap(XJ_disp, XJ_screen_num);
+    XColor colour, colour_exact;
+    QString name = toXString(db_letterbox_colour);
+    if (XAllocNamedColor(XJ_disp, cmap, name.ascii(), &colour, &colour_exact))
+        XJ_letterbox_colour = colour.pixel;
+
     X11U;
 
+
     // Basic setup
     VideoOutput::Init(width, height, aspect,
                       winid, winx, winy, winw, winh,
@@ -3127,8 +3138,8 @@
     needrepaint = false;
     xv_need_bobdeint_repaint = false;
 
-    // Draw black in masked areas
-    XSetForeground(XJ_disp, XJ_gc, XJ_black);
+    // Set colour for masked areas
+    XSetForeground(XJ_disp, XJ_gc, XJ_letterbox_colour); 
 
     if (display_video_rect.left() > display_visible_rect.left())
     { // left
Index: libs/libmythtv/videooutbase.h
===================================================================
--- libs/libmythtv/videooutbase.h	(revision 14592)
+++ libs/libmythtv/videooutbase.h	(working copy)
@@ -248,6 +248,7 @@
     PictureSettingMap  db_pict_attr; ///< Picture settings
     AspectOverrideMode db_aspectoverride;
     AdjustFillMode     db_adjustfill;
+    LetterBoxColour    db_letterbox_colour;
     QString db_deint_filtername;
 
     VideoDisplayProfile *db_vdisp_profile;
Index: programs/mythfrontend/globalsettings.cpp
===================================================================
--- programs/mythfrontend/globalsettings.cpp	(revision 14592)
+++ programs/mythfrontend/globalsettings.cpp	(working copy)
@@ -2099,6 +2099,20 @@
     return gc;
 }
 
+static HostComboBox *LetterboxingColour()
+{
+    HostComboBox *gc = new HostComboBox("LetterboxColour");
+    gc->setLabel(QObject::tr("Letterboxing Color"));
+    for (int m = kLetterBoxColour_Black; m < kLetterBoxColour_END; m++)
+        gc->addSelection(toString((LetterBoxColour)m), QString::number(m));
+    gc->setHelpText(
+        QObject::tr(
+            "By default MythTV uses black letterboxing to match broadcaster "
+            "letterboxing, but those with plasma screens may prefer gray "
+            "to minimize burn-in."));
+    return gc;
+}
+
 static HostComboBox *AspectOverride()
 {
     HostComboBox *gc = new HostComboBox("AspectOverride");
@@ -4379,9 +4393,14 @@
     oscan->addChild(ocol1);
     oscan->addChild(ocol2);
 
+    HorizontalConfigurationGroup* aspect_fill =
+        new HorizontalConfigurationGroup(false, false, true, true);
+    aspect_fill->addChild(AspectOverride());
+    aspect_fill->addChild(AdjustFill());
+
     general2->addChild(oscan);
-    general2->addChild(AspectOverride());
-    general2->addChild(AdjustFill());
+    general2->addChild(aspect_fill);
+    general2->addChild(LetterboxingColour());
     general2->addChild(PIPLocationComboBox());
     general2->addChild(PlaybackExitPrompt());
     general2->addChild(EndOfRecordingExitPrompt());
