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 */
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
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 */
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
#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