* video_output.h : video output thread
* This module describes the programming interface for video output threads.
* It includes functions allowing to open a new thread, send pictures to a
- * thread, and destroy a previously oppenned video output thread.
+ * thread, and destroy a previously opened video output thread.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
- * $Id: video_output.h,v 1.69 2002/01/02 14:37:42 sam Exp $
+ * $Id: video_output.h,v 1.75 2002/04/25 21:52:42 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
} vout_bank_t;
-#ifndef PLUGIN
+#ifndef __PLUGIN__
extern vout_bank_t *p_vout_bank;
#else
# define p_vout_bank (p_symbols->p_vout_bank)
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 */
float f_gamma; /* gamma */
boolean_t b_scale; /* allow picture scaling */
boolean_t b_fullscreen; /* toogle fullscreen display */
mtime_t render_time; /* last picture render time */
+ int i_window_width; /* video window width */
+ int i_window_height; /* video window height */
/* Plugin used and shortcuts to access its capabilities */
struct module_s * p_module;
void ( *pf_end ) ( struct vout_thread_s * );
void ( *pf_destroy ) ( struct vout_thread_s * );
int ( *pf_manage ) ( struct vout_thread_s * );
+ void ( *pf_render ) ( struct vout_thread_s *,
+ struct picture_s * );
void ( *pf_display ) ( struct vout_thread_s *,
struct picture_s * );
- void ( *pf_setpalette ) ( struct vout_thread_s *,
- u16 *, u16 *, u16 * );
/* Statistics - these numbers are not supposed to be accurate, but are a
* good indication of the thread status */
vout_chroma_t chroma; /* translation tables */
/* Picture and subpicture heaps */
- picture_t p_picture[VOUT_MAX_PICTURES]; /* pictures */
+ picture_t p_picture[2*VOUT_MAX_PICTURES]; /* pictures */
subpicture_t p_subpicture[VOUT_MAX_PICTURES]; /* subpictures */
/* Bitmap fonts */
/*****************************************************************************
* Prototypes
*****************************************************************************/
-#ifndef PLUGIN
+#ifndef __PLUGIN__
void vout_InitBank ( void );
void vout_EndBank ( void );
-vout_thread_t * vout_CreateThread ( int *pi_status, int, int, u64, int );
+vout_thread_t * vout_CreateThread ( int *pi_status, int, int, u32, int );
void vout_DestroyThread ( vout_thread_t *, int *pi_status );
vout_fifo_t * vout_CreateFifo ( void );
void vout_DestroyFifo ( vout_fifo_t * );
void vout_FreeFifo ( vout_fifo_t * );
+int vout_ChromaCmp ( u32, u32 );
+
picture_t * vout_CreatePicture ( vout_thread_t *,
boolean_t, boolean_t, boolean_t );
-void vout_AllocatePicture( picture_t *, int, int, int );
+void vout_AllocatePicture( picture_t *, int, int, u32 );
void vout_DestroyPicture ( vout_thread_t *, picture_t * );
void vout_DisplayPicture ( vout_thread_t *, picture_t * );
void vout_DatePicture ( vout_thread_t *, picture_t *, mtime_t );
# define vout_LinkPicture p_symbols->vout_LinkPicture
# define vout_UnlinkPicture p_symbols->vout_UnlinkPicture
# define vout_PlacePicture p_symbols->vout_PlacePicture
+# define vout_ChromaCmp p_symbols->vout_ChromaCmp
#endif