int i_status; /**< picture flags */
int i_type; /**< is picture a direct buffer ? */
bool b_slow; /**< is picture in slow memory ? */
- int i_matrix_coefficients; /**< in YUV type, encoding type */
/**@}*/
/** \name Picture management properties
* Flags used to describe the status of a picture
*****************************************************************************/
-/* Picture type */
-#define EMPTY_PICTURE 0 /* empty buffer */
-#define MEMORY_PICTURE 100 /* heap-allocated buffer */
-#define DIRECT_PICTURE 200 /* direct buffer */
+/* Picture type
+ * FIXME are the values meaningfull ? */
+enum
+{
+ EMPTY_PICTURE = 0, /* empty buffer */
+ MEMORY_PICTURE = 100, /* heap-allocated buffer */
+ DIRECT_PICTURE = 200, /* direct buffer */
+};
/* Picture status */
-#define FREE_PICTURE 0 /* free and not allocated */
-#define RESERVED_PICTURE 1 /* allocated and reserved */
-#define RESERVED_DATED_PICTURE 2 /* waiting for DisplayPicture */
-#define RESERVED_DISP_PICTURE 3 /* waiting for a DatePicture */
-#define READY_PICTURE 4 /* ready for display */
-#define DISPLAYED_PICTURE 5 /* been displayed but is linked */
-#define DESTROYED_PICTURE 6 /* allocated but no more used */
+enum
+{
+ FREE_PICTURE, /* free and not allocated */
+ RESERVED_PICTURE, /* allocated and reserved */
+ READY_PICTURE, /* ready for display */
+ DISPLAYED_PICTURE, /* been displayed but is linked */
+ DESTROYED_PICTURE, /* allocated but no more used */
+};
/* Quantification type */
-#define QTYPE_MPEG1 0
-#define QTYPE_MPEG2 1
-#define QTYPE_H264 2
+enum
+{
+ QTYPE_MPEG1,
+ QTYPE_MPEG2,
+ QTYPE_H264,
+};
/*****************************************************************************
* Shortcuts to access image components
*****************************************************************************/
/* Plane indices */
-#define Y_PLANE 0
-#define U_PLANE 1
-#define V_PLANE 2
-#define A_PLANE 3
+enum
+{
+ Y_PLANE = 0,
+ U_PLANE = 1,
+ V_PLANE = 2,
+ A_PLANE = 3,
+};
/* Shortcuts */
#define Y_PIXELS p[Y_PLANE].p_pixels
unsigned int i_window_height; /**< video window height */
unsigned int i_alignment; /**< video alignment in window */
- struct vout_window_t *p_window; /**< window for embedded vout (if any) */
/**@}*/
/** \name Plugin used and shortcuts to access its capabilities */
VLC_EXPORT( void, vout_InitFormat, ( video_frame_format_t *, uint32_t, int, int, int ) );
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 *, unsigned int, unsigned int, unsigned int *, unsigned int *, unsigned int *, unsigned int * ) );
+VLC_EXPORT( void, vout_PlacePicture, ( const vout_thread_t *, unsigned int, unsigned int, unsigned int *, unsigned int *, unsigned int *, unsigned int * ) );
VLC_EXPORT( int, vout_vaControlDefault, ( vout_thread_t *, int, va_list ) );
-VLC_EXPORT( void *, vout_RequestWindow, ( vout_thread_t *, int *, int *, unsigned int *, unsigned int * ) );
-VLC_EXPORT( void, vout_ReleaseWindow, ( vout_thread_t *, void * ) );
-VLC_EXPORT( int, vout_ControlWindow, ( vout_thread_t *, void *, int, va_list ) );
void vout_IntfInit( vout_thread_t * );
VLC_EXPORT( int, vout_Snapshot, ( vout_thread_t *p_vout, picture_t *p_pic ) );
VLC_EXPORT( void, vout_EnableFilter, ( vout_thread_t *, char *,bool , bool ) );
int i_height; /* In pixels */
int i_datasize; /* In bytes */
mtime_t date; /* Presentation time */
+ vlc_cond_t p_condvar;
+ vlc_mutex_t p_mutex;
} snapshot_t;
/**@}*/