From 0644cfee52557270e0e1adcd74effcd6b41c4854 Mon Sep 17 00:00:00 2001
From: basos g <noxelia 4t gmail d0t c0m>
Date: Fri, 6 Mar 2009 12:13:55 +0000
Subject: [PATCH 16/16] VOUT Add debug messages

debug messages are added to make clues about :
a) the clock issue ( see VLC timing issues on ML)
b) the rgb chroma issue ( see VLC RBG chroma issues on ML)
---
 src/video_output/video_output.c |   69 +++++++++++++++++++++------------------
 1 files changed, 37 insertions(+), 32 deletions(-)

diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
index 6daf708..acd0324 100644
--- a/src/video_output/video_output.c
+++ b/src/video_output/video_output.c
@@ -842,28 +842,8 @@ static int InitThread( vout_thread_t *p_vout )
 
     AspectRatio( p_vout->fmt_render.i_aspect, &i_aspect_x, &i_aspect_y );
 
-    msg_Dbg( p_vout, "picture in %ix%i (%i,%i,%ix%i), "
-             "chroma %4.4s, ar %i:%i, sar %i:%i",
-             p_vout->fmt_render.i_width, p_vout->fmt_render.i_height,
-             p_vout->fmt_render.i_x_offset, p_vout->fmt_render.i_y_offset,
-             p_vout->fmt_render.i_visible_width,
-             p_vout->fmt_render.i_visible_height,
-             (char*)&p_vout->fmt_render.i_chroma,
-             i_aspect_x, i_aspect_y,
-             p_vout->fmt_render.i_sar_num, p_vout->fmt_render.i_sar_den );
-
     AspectRatio( p_vout->fmt_in.i_aspect, &i_aspect_x, &i_aspect_y );
 
-    msg_Dbg( p_vout, "picture user %ix%i (%i,%i,%ix%i), "
-             "chroma %4.4s, ar %i:%i, sar %i:%i",
-             p_vout->fmt_in.i_width, p_vout->fmt_in.i_height,
-             p_vout->fmt_in.i_x_offset, p_vout->fmt_in.i_y_offset,
-             p_vout->fmt_in.i_visible_width,
-             p_vout->fmt_in.i_visible_height,
-             (char*)&p_vout->fmt_in.i_chroma,
-             i_aspect_x, i_aspect_y,
-             p_vout->fmt_in.i_sar_num, p_vout->fmt_in.i_sar_den );
-
     if( !p_vout->fmt_out.i_width || !p_vout->fmt_out.i_height )
     {
         p_vout->fmt_out.i_width = p_vout->fmt_out.i_visible_width =
@@ -888,16 +868,6 @@ static int InitThread( vout_thread_t *p_vout )
 
     AspectRatio( p_vout->fmt_out.i_aspect, &i_aspect_x, &i_aspect_y );
 
-    msg_Dbg( p_vout, "picture out %ix%i (%i,%i,%ix%i), "
-             "chroma %4.4s, ar %i:%i, sar %i:%i",
-             p_vout->fmt_out.i_width, p_vout->fmt_out.i_height,
-             p_vout->fmt_out.i_x_offset, p_vout->fmt_out.i_y_offset,
-             p_vout->fmt_out.i_visible_width,
-             p_vout->fmt_out.i_visible_height,
-             (char*)&p_vout->fmt_out.i_chroma,
-             i_aspect_x, i_aspect_y,
-             p_vout->fmt_out.i_sar_num, p_vout->fmt_out.i_sar_den );
-
     /* FIXME removed the need of both fmt_* and heap infos */
     /* Calculate shifts from system-updated masks */
     PictureHeapFixRgb( &p_vout->render );
@@ -906,6 +876,38 @@ static int InitThread( vout_thread_t *p_vout )
     PictureHeapFixRgb( &p_vout->output );
     VideoFormatImportRgb( &p_vout->fmt_out, &p_vout->output );
 
+    /* print some usefull debug info about different vout formats
+     */
+    msg_Dbg( p_vout, "pic render sz %ix%i, of (%i,%i), vsz %ix%i, 4cc %4.4s, ar %i:%i, sar %i:%i, msk r0x%x g0x%x b0x%x",
+             p_vout->fmt_render.i_width, p_vout->fmt_render.i_height,
+             p_vout->fmt_render.i_x_offset, p_vout->fmt_render.i_y_offset,
+             p_vout->fmt_render.i_visible_width,
+             p_vout->fmt_render.i_visible_height,
+             (char*)&p_vout->fmt_render.i_chroma,
+             i_aspect_x, i_aspect_y,
+             p_vout->fmt_render.i_sar_num, p_vout->fmt_render.i_sar_den,
+             p_vout->fmt_render.i_rmask, p_vout->fmt_render.i_gmask, p_vout->fmt_render.i_bmask );
+
+    msg_Dbg( p_vout, "pic in sz %ix%i, of (%i,%i), vsz %ix%i, 4cc %4.4s, ar %i:%i, sar %i:%i, msk r0x%x g0x%x b0x%x",
+             p_vout->fmt_in.i_width, p_vout->fmt_in.i_height,
+             p_vout->fmt_in.i_x_offset, p_vout->fmt_in.i_y_offset,
+             p_vout->fmt_in.i_visible_width,
+             p_vout->fmt_in.i_visible_height,
+             (char*)&p_vout->fmt_in.i_chroma,
+             i_aspect_x, i_aspect_y,
+             p_vout->fmt_in.i_sar_num, p_vout->fmt_in.i_sar_den,
+             p_vout->fmt_in.i_rmask, p_vout->fmt_in.i_gmask, p_vout->fmt_in.i_bmask );
+
+    msg_Dbg( p_vout, "pic out sz %ix%i, of (%i,%i), vsz %ix%i, 4cc %4.4s, ar %i:%i, sar %i:%i, msk r0x%x g0x%x b0x%x",
+             p_vout->fmt_out.i_width, p_vout->fmt_out.i_height,
+             p_vout->fmt_out.i_x_offset, p_vout->fmt_out.i_y_offset,
+             p_vout->fmt_out.i_visible_width,
+             p_vout->fmt_out.i_visible_height,
+             (char*)&p_vout->fmt_out.i_chroma,
+             i_aspect_x, i_aspect_y,
+             p_vout->fmt_out.i_sar_num, p_vout->fmt_out.i_sar_den,
+             p_vout->fmt_out.i_rmask, p_vout->fmt_out.i_gmask, p_vout->fmt_out.i_bmask );
+
     /* Check whether we managed to create direct buffers similar to
      * the render buffers, ie same size and chroma */
     if( ( p_vout->output.i_width == p_vout->render.i_width )
@@ -1061,8 +1063,8 @@ static void* RunThread( void *p_this )
                 vout_UsePictureLocked( p_vout, p_pic );
                 p_vout->p->i_picture_lost++;
 
-                msg_Warn( p_vout, "late picture skipped (%"PRId64")",
-                                  current_date - p_pic->date );
+                msg_Warn( p_vout, "late picture skipped (%"PRId64" > %d)",
+                                  current_date - p_pic->date, - p_vout->p->render_time );
             }
             else if( ( !p_last || p_last->date < p_pic->date ) &&
                      ( p_picture == NULL || p_pic->date < p_picture->date ) )
@@ -1208,6 +1210,9 @@ static void* RunThread( void *p_this )
                 p_vout->p->render_time += current_render_time;
                 p_vout->p->render_time >>= 2;
             }
+            else
+                msg_Dbg( p_vout, "skipped big render time %d > %d", (int) current_render_time,
+                 (int) (p_vout->p->render_time +VOUT_DISPLAY_DELAY ) ) ;
         }
 
         /* Give back change lock */
-- 
1.6.1.3

