tags 277369 +patch
thanks
I will shortly be making an upload that will include this patch from the ogle CVS tree if testing goes ok.

Alan
===================================================================
RCS file: /cvsroot/ogle/ogle/mpeg2_video/video_output_x11.c,v
retrieving revision 1.125
retrieving revision 1.126
diff -u -r1.125 -r1.126
--- ogle/ogle/mpeg2_video/video_output_x11.c    2006/01/25 16:54:11     1.125
+++ ogle/ogle/mpeg2_video/video_output_x11.c    2006/01/25 17:24:29     1.126
@@ -83,6 +83,10 @@
 #endif /* HAVE_XV */
 
 
+#define DEINTERLACE_TEST
+#ifdef DEINTERLACE_TEST
+static int deint;
+#endif
 //ugly hack
 extern data_q_t *cur_data_q;
 /*
@@ -1597,6 +1601,29 @@
        m_ev.input.input_base = base_keysym;
        m_ev.input.input_keycode = ev.xkey.keycode;
 
+#ifdef DEINTERLACE_TEST
+       if(use_xv) {
+         if(keysym == XK_m) {
+           if(deint != 1) {
+             fprintf(stderr, "displaying only top field\n");
+             deint = 1;
+             xv_image = XvShmCreateImage(mydisplay, xv_port, xv_id, NULL,
+                                         xv_image->width*2,
+                                         xv_image->height/2, 
+                                         &shm_info);
+           }
+         } else if(keysym == XK_M) {
+           if(deint != 0) {
+             fprintf(stderr, "displaying both fields\n");
+             deint = 0;
+             xv_image = XvShmCreateImage(mydisplay, xv_port, xv_id, NULL,
+                                         xv_image->width/2,
+                                         xv_image->height*2, 
+                                         &shm_info);
+           }
+         }
+       }
+#endif       
        if(MsgSendEvent(msgq, input_client, &m_ev, IPC_NOWAIT) == -1) {
          switch(errno) {
          case EAGAIN:
@@ -2367,6 +2394,12 @@
   set_videoarea(&window, scale.image_width, scale.image_height);
 
   src_view_area = get_viewarea(draw_image);
+#ifdef DEINTERLACE_TEST
+  if(deint) {
+    src_view_area.y = src_view_area.y/2; 
+    src_view_area.height = src_view_area.height/2; 
+  }
+#endif
   if(use_xshm) {
     XvShmPutImage(mydisplay, xv_port, dwin->win, mygc, xv_image, 
                  src_view_area.x, src_view_area.y, 

Reply via email to