+/* Flags for changes - these flags are set in the i_changes field when another
+ * thread changed a variable */
+#define VOUT_INFO_CHANGE 0x0001 /* b_info changed */
+#define VOUT_GRAYSCALE_CHANGE 0x0002 /* b_grayscale changed */
+#define VOUT_INTF_CHANGE 0x0004 /* b_interface changed */
+#define VOUT_SCALE_CHANGE 0x0008 /* b_scale changed */
+#define VOUT_GAMMA_CHANGE 0x0010 /* gamma changed */
+#define VOUT_CURSOR_CHANGE 0x0020 /* b_cursor changed */
+#define VOUT_FULLSCREEN_CHANGE 0x0040 /* b_fullscreen changed */
+#define VOUT_SIZE_CHANGE 0x0200 /* size changed */
+#define VOUT_DEPTH_CHANGE 0x0400 /* depth changed */
+#define VOUT_CHROMA_CHANGE 0x0800 /* change chroma tables */
+
+/* Disabled for thread deadlocks issues --Meuuh */
+//#define VOUT_NODISPLAY_CHANGE 0xff00 /* changes which forbidden display */
+
+#define MAX_JITTER_SAMPLES 20
+
+/*****************************************************************************
+ * Prototypes
+ *****************************************************************************/
+#define vout_CreateThread(a,b,c,d,e) __vout_CreateThread(CAST_TO_VLC_OBJECT(a),b,c,d,e)
+VLC_EXPORT( vout_thread_t *, __vout_CreateThread, ( vlc_object_t *, int, int, u32, int ) );
+VLC_EXPORT( void, vout_DestroyThread, ( vout_thread_t * ) );
+
+vout_fifo_t * vout_CreateFifo ( void );
+void vout_DestroyFifo ( vout_fifo_t * );
+void vout_FreeFifo ( vout_fifo_t * );
+
+VLC_EXPORT( int, vout_ChromaCmp, ( u32, u32 ) );
+
+VLC_EXPORT( picture_t *, vout_CreatePicture, ( vout_thread_t *, vlc_bool_t, vlc_bool_t, vlc_bool_t ) );
+VLC_EXPORT( void, vout_AllocatePicture,( vout_thread_t *, picture_t *, int, int, u32 ) );
+VLC_EXPORT( void, vout_DestroyPicture, ( vout_thread_t *, picture_t * ) );
+VLC_EXPORT( void, vout_DisplayPicture, ( vout_thread_t *, picture_t * ) );
+VLC_EXPORT( void, vout_DatePicture, ( vout_thread_t *, picture_t *, mtime_t ) );
+VLC_EXPORT( void, vout_LinkPicture, ( vout_thread_t *, picture_t * ) );
+VLC_EXPORT( void, vout_UnlinkPicture, ( vout_thread_t *, picture_t * ) );
+VLC_EXPORT( void, vout_PlacePicture, ( vout_thread_t *, int, int, int *, int *, int *, int * ) );
+picture_t * vout_RenderPicture ( vout_thread_t *, picture_t *,
+ subpicture_t * );
+
+VLC_EXPORT( subpicture_t *, vout_CreateSubPicture, ( vout_thread_t *, int, int ) );
+VLC_EXPORT( void, vout_DestroySubPicture, ( vout_thread_t *, subpicture_t * ) );
+VLC_EXPORT( void, vout_DisplaySubPicture, ( vout_thread_t *, subpicture_t * ) );
+
+subpicture_t * vout_SortSubPictures ( vout_thread_t *, mtime_t );
+void vout_RenderSubPictures ( vout_thread_t *, picture_t *,
+ subpicture_t * );