]> git.sesse.net Git - vlc/blobdiff - include/video_output.h
. changed subtitles palette.
[vlc] / include / video_output.h
index c9512846d1c27959331ae7c9b914cb46be915fb9..828ad6311b634ee13e09fccb0ebfb80e6b1930dc 100644 (file)
@@ -129,7 +129,7 @@ typedef struct vout_thread_s
     vlc_mutex_t         change_lock;                   /* thread change lock */
     int *               pi_status;                  /* temporary status flag */
     p_vout_sys_t        p_sys;                       /* system output method */
-
+                                                                   
     /* Current display properties */
     u16                 i_changes;             /* changes made to the thread */
     int                 i_width;              /* current output method width */
@@ -138,6 +138,8 @@ typedef struct vout_thread_s
     int                 i_screen_depth;  /* significant bpp: 8, 15, 16 or 24 */
     int                 i_bytes_per_pixel;/* real screen depth: 1, 2, 3 or 4 */
     float               f_gamma;                                    /* gamma */
+    boolean_t           b_need_render;  /* does the output method need a YUV 
+                                         * conversion ?                      */
 
     /* Color masks and shifts in RGB mode - masks are set by system
      * initialization, shifts are calculated. A pixel color value can be
@@ -175,19 +177,18 @@ typedef struct vout_thread_s
     boolean_t           b_info;              /* print additional information */
     boolean_t           b_interface;                     /* render interface */
     boolean_t           b_scale;                    /* allow picture scaling */
+    mtime_t             render_time;             /* last picture render time */
+
 
     /* Idle screens management */
     mtime_t             last_display_date;     /* last non idle display date */
     mtime_t             last_idle_date;            /* last idle display date */
     mtime_t             init_display_date;
 
-#ifdef STATS
     /* Statistics - these numbers are not supposed to be accurate, but are a
      * good indication of the thread status */
-    mtime_t             render_time;             /* last picture render time */
     count_t             c_fps_samples;                     /* picture counts */
     mtime_t             p_fps_sample[VOUT_FPS_SAMPLES]; /* FPS samples dates */
-#endif
 
     /* Rendering buffers */
     int                 i_buffer_index;                      /* buffer index */
@@ -198,14 +199,15 @@ typedef struct vout_thread_s
     subpicture_t        p_subpicture[VOUT_MAX_PICTURES];      /* subpictures */
     int                 i_pictures;                     /* current heap size */
     vout_yuv_t          yuv;                           /* translation tables */
+    picture_t *         p_rendered_pic;  /* picture currently being rendered */
 
     /* Bitmap fonts */
     p_vout_font_t       p_default_font;                      /* default font */
     p_vout_font_t       p_large_font;                          /* large font */
 
-    /* Synchronization informations - synchro level is updated by the vout
-     * thread and read by decoder threads */
-    int                 i_synchro_level;                   /* trashing level */
+#ifdef STATS
+    count_t             c_loops;
+#endif
 } vout_thread_t;
 
 /* Flags for changes - these flags are set in the i_changes field when another
@@ -218,7 +220,9 @@ typedef struct vout_thread_s
 #define VOUT_DEPTH_CHANGE       0x0400                      /* depth changed */
 #define VOUT_GAMMA_CHANGE       0x0010                      /* gamma changed */
 #define VOUT_YUV_CHANGE         0x0800                  /* change yuv tables */
-#define VOUT_NODISPLAY_CHANGE   0xff00    /* changes which forbidden display */
+
+/* Disabled for thread deadlocks issues --Meuuh */
+//#define VOUT_NODISPLAY_CHANGE   0xff00    /* changes which forbidden display */
 
 /*****************************************************************************
  * Macros