--- from/videoouttypes.h	2010-10-01 04:59:14.000000000 +0400
+++ to/videoouttypes.h	2010-10-01 04:54:30.000000000 +0400
@@ -56,7 +56,7 @@
     kAdjustFill_Half,
     kAdjustFill_Full,
     kAdjustFill_HorizontalStretch,
-    kAdjustFill_VerticalStretch,
+    kAdjustFill_VerticalStretch,    kAdjustFill_HorizontalZoom,
     kAdjustFill_END,
     kAdjustFill_AutoDetect_DefaultOff,
     kAdjustFill_AutoDetect_DefaultHalf,
@@ -250,7 +250,7 @@
         case kAdjustFill_HorizontalStretch:
             ret = QObject::tr("H.Stretch"); break;
         case kAdjustFill_VerticalStretch:
-            ret = QObject::tr("V.Stretch"); break;
+            ret = QObject::tr("V.Stretch"); break;        case kAdjustFill_HorizontalZoom: ret = QObject::tr("H.Zoom"); break;
         case kAdjustFill_Toggle:
         case kAdjustFill_Off:
         case kAdjustFill_END: break;
--- from/videooutwindow.cpp	2010-10-01 04:59:14.000000000 +0400
+++ to/videooutwindow.cpp	2010-10-01 05:05:24.000000000 +0400
@@ -403,6 +403,16 @@
 
         display_video_rect.setHeight(display_video_rect.height() * 4 / 3);
     }
+    else if (adjustfill == kAdjustFill_HorizontalZoom && (video_aspect < disp_aspect)) //video_aspect < display_aspect
+    {
+        float k = (video_aspect * 2) / (disp_aspect - video_aspect);
+
+        display_video_rect = QRect(
+            display_video_rect.left() - (display_video_rect.width() / k) ,
+            display_video_rect.top() -  (display_video_rect.height()/ k) ,
+            display_video_rect.width()  * disp_aspect / video_aspect,
+            display_video_rect.height() * disp_aspect / video_aspect);
+    }
 }
 
 /** \fn VideoOutWindow::ApplySnapToVideoRect(void)
