Index: modules/video_filter/deinterlace.c
===================================================================
--- modules/video_filter/deinterlace.c	(revision 7990)
+++ modules/video_filter/deinterlace.c	(working copy)
@@ -42,7 +42,9 @@
 #define DEINTERLACE_BLEND   3
 #define DEINTERLACE_BOB     4
 #define DEINTERLACE_LINEAR  5
+#define DEINTERLACE_BOBI    6
 
+
 /*****************************************************************************
  * Local protypes
  *****************************************************************************/
@@ -91,9 +93,9 @@
 #define MODE_TEXT N_("Deinterlace mode")
 #define MODE_LONGTEXT N_("You can choose the default deinterlace mode")
 
-static char *mode_list[] = { "discard", "blend", "mean", "bob", "linear" };
+static char *mode_list[] = { "discard", "blend", "mean", "bob", "linear" , "bobi" };
 static char *mode_list_text[] = { N_("Discard"), N_("Blend"), N_("Mean"),
-                                  N_("Bob"), N_("Linear") };
+                                  N_("Bob"), N_("Linear"), N_("Bobi") };
 
 vlc_module_begin();
     set_description( _("Deinterlacing video filter") );
@@ -248,6 +250,12 @@
         p_vout->p_sys->i_mode = DEINTERLACE_BOB;
         p_vout->p_sys->b_double_rate = 1;
     }
+    else if( !strcmp( psz_method, "bobi" )
+             || !strcmp( psz_method, "progressive-scan" ) )
+    {
+        p_vout->p_sys->i_mode = DEINTERLACE_BOBI;
+        p_vout->p_sys->b_double_rate = 1;
+    }
     else if( !strcmp( psz_method, "linear" ) )
     {
         p_vout->p_sys->i_mode = DEINTERLACE_LINEAR;
@@ -336,6 +344,7 @@
             break;
 
         case DEINTERLACE_BOB:
+        case DEINTERLACE_BOBI:
         case DEINTERLACE_BLEND:
         case DEINTERLACE_LINEAR:
             p_real_vout =
@@ -468,6 +477,15 @@
             vout_DisplayPicture( p_vout->p_sys->p_vout, pp_outpic[1] );
             break;
 
+        case DEINTERLACE_BOBI:
+            RenderBob( p_vout, pp_outpic[0], p_pic, 1 );
+            vout_DisplayPicture( p_vout->p_sys->p_vout, pp_outpic[0] );
+            RenderBob( p_vout, pp_outpic[1], p_pic, 0 );
+            vout_DisplayPicture( p_vout->p_sys->p_vout, pp_outpic[1] );
+            break;
+
+
+
         case DEINTERLACE_LINEAR:
             RenderLinear( p_vout, pp_outpic[0], p_pic, 0 );
             vout_DisplayPicture( p_vout->p_sys->p_vout, pp_outpic[0] );
@@ -1075,6 +1093,7 @@
             break;
 
         case DEINTERLACE_BOB:
+        case DEINTERLACE_BOBI:
         case DEINTERLACE_BLEND:
         case DEINTERLACE_LINEAR:
             if( ( i_old_mode == DEINTERLACE_BOB )
