Index: /trunk/src/VBox/Frontends/VirtualBox/src/VBoxFBOverlay.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/VBoxFBOverlay.cpp	(revision 51666)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/VBoxFBOverlay.cpp	(revision 51667)
@@ -32,5 +32,5 @@
 #include "UIMessageCenter.h"
 #include "UIPopupCenter.h"
-#include "UIExtraDataDefs.h"
+#include "UIExtraDataManager.h"
 #include "VBoxGlobal.h"
 
@@ -5777,22 +5777,17 @@
 VBoxVHWASettings::VBoxVHWASettings (CSession &session)
 {
-    CMachine machine = session.GetMachine();
-
-    QString str = machine.GetExtraData (GUI_Accelerate2D_StretchLinear);
-    mStretchLinearEnabled = str != "off";
+    const QString strMachineID = session.GetMachine().GetId();
+
+    mStretchLinearEnabled = gEDataManager->useLinearStretch(strMachineID);
 
     uint32_t aFourccs[VBOXVHWA_NUMFOURCC];
     int num = 0;
-    str = machine.GetExtraData (GUI_Accelerate2D_PixformatAYUV);
-    if (str != "off")
+    if (gEDataManager->usePixelFormatAYUV(strMachineID))
         aFourccs[num++] = FOURCC_AYUV;
-    str = machine.GetExtraData (GUI_Accelerate2D_PixformatUYVY);
-    if (str != "off")
+    if (gEDataManager->usePixelFormatUYVY(strMachineID))
         aFourccs[num++] = FOURCC_UYVY;
-    str = machine.GetExtraData (GUI_Accelerate2D_PixformatYUY2);
-    if (str != "off")
+    if (gEDataManager->usePixelFormatYUY2(strMachineID))
         aFourccs[num++] = FOURCC_YUY2;
-    str = machine.GetExtraData (GUI_Accelerate2D_PixformatYV12);
-    if (str != "off")
+    if (gEDataManager->usePixelFormatYV12(strMachineID))
         aFourccs[num++] = FOURCC_YV12;
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 51666)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 51667)
@@ -840,4 +840,36 @@
 }
 
+#ifdef VBOX_WITH_VIDEOHWACCEL
+bool UIExtraDataManager::useLinearStretch(const QString &strID) const
+{
+    /* 'True' unless feature restricted: */
+    return !isFeatureRestricted(GUI_Accelerate2D_StretchLinear, strID);
+}
+
+bool UIExtraDataManager::usePixelFormatYV12(const QString &strID) const
+{
+    /* 'True' unless feature restricted: */
+    return !isFeatureRestricted(GUI_Accelerate2D_PixformatYV12, strID);
+}
+
+bool UIExtraDataManager::usePixelFormatUYVY(const QString &strID) const
+{
+    /* 'True' unless feature restricted: */
+    return !isFeatureRestricted(GUI_Accelerate2D_PixformatUYVY, strID);
+}
+
+bool UIExtraDataManager::usePixelFormatYUY2(const QString &strID) const
+{
+    /* 'True' unless feature restricted: */
+    return !isFeatureRestricted(GUI_Accelerate2D_PixformatYUY2, strID);
+}
+
+bool UIExtraDataManager::usePixelFormatAYUV(const QString &strID) const
+{
+    /* 'True' unless feature restricted: */
+    return !isFeatureRestricted(GUI_Accelerate2D_PixformatAYUV, strID);
+}
+#endif /* VBOX_WITH_VIDEOHWACCEL */
+
 int UIExtraDataManager::hostScreenForPassedGuestScreen(int iGuestScreenIndex, const QString &strID)
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h	(revision 51666)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h	(revision 51667)
@@ -250,4 +250,17 @@
     void setGuestScreenAutoResize(bool fEnabled, const QString &strID);
 
+#ifdef VBOX_WITH_VIDEOHWACCEL
+    /** Returns whether 2D acceleration should use linear sretch. */
+    bool useLinearStretch(const QString &strID) const;
+    /** Returns whether 2D acceleration should use YV12 pixel format. */
+    bool usePixelFormatYV12(const QString &strID) const;
+    /** Returns whether 2D acceleration should use UYVY pixel format. */
+    bool usePixelFormatUYVY(const QString &strID) const;
+    /** Returns whether 2D acceleration should use YUY2 pixel format. */
+    bool usePixelFormatYUY2(const QString &strID) const;
+    /** Returns whether 2D acceleration should use AYUV pixel format. */
+    bool usePixelFormatAYUV(const QString &strID) const;
+#endif /* VBOX_WITH_VIDEOHWACCEL */
+
     /** Returns restricted Runtime UI status-bar indicators. */
     QList<IndicatorType> restrictedStatusBarIndicators(const QString &strID) const;
